Рубрики
Без рубрики

Пример весенней безопасности привет, мир

– Пример весенней безопасности hello world

Автор оригинала: mkyong.

В этом уроке мы покажем вам, как интегрировать Spring Security с веб-приложением Spring MVC для защиты доступа по URL-адресу. После внедрения Spring Security для доступа к содержимому страницы “администратор” пользователям необходимо ввести правильные “имя пользователя” и “пароль”.

Используемые технологии:

  1. Пружина 3.2.8. ОСВОБОЖДЕНИЕ
  2. Защита пружины 3.2.3.ОСВОБОЖДЕНИЕ
  3. Затмение 4.2
  4. JDK 1.6
  5. Мавен 3

1. Демонстрация проекта

2. Структура каталогов

Просмотрите окончательную структуру каталогов этого руководства.

3. Зависимости безопасности Spring

Чтобы использовать Spring security, вам нужно spring-security-web и spring-security-конфигурация .

	
		1.6
		3.2.8.RELEASE
		3.2.3.RELEASE
		1.2
	

	

		
		
			org.springframework
			spring-core
			${spring.version}
		

		
			org.springframework
			spring-web
			${spring.version}
		

		
			org.springframework
			spring-webmvc
			${spring.version}
		

		
		
			org.springframework.security
			spring-security-web
			${spring.security.version}
		

		
			org.springframework.security
			spring-security-config
			${spring.security.version}
		

		
		
			jstl
			jstl
			${jstl.version}
		

	

4. Веб-приложение Spring MVC

Простой контроллер:

  1. Если URL = /добро пожаловать или /, верните страницу приветствия.
  2. Если URL = /администратор , верните страницу администратора.

Позже мы покажем вам, как использовать Spring Security для защиты URL-адреса “/admin” с помощью формы входа пользователя.

package com.mkyong.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {

	@RequestMapping(value = { "/", "/welcome**" }, method = RequestMethod.GET)
	public ModelAndView welcomePage() {

		ModelAndView model = new ModelAndView();
		model.addObject("title", "Spring Security Hello World");
		model.addObject("message", "This is welcome page!");
		model.setViewName("hello");
		return model;

	}

	@RequestMapping(value = "/admin**", method = RequestMethod.GET)
	public ModelAndView adminPage() {

		ModelAndView model = new ModelAndView();
		model.addObject("title", "Spring Security Hello World");
		model.addObject("message", "This is protected page!");
		model.setViewName("admin");

		return model;

	}

}

Две страницы JSP.

<%@page session="false"%>


	

Title : ${title}

Message : ${message}

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page session="true"%>


	

Title : ${title}

Message : ${message}

Welcome : ${pageContext.request.userPrincipal.name} | " > Logout



	

	
	  
		/WEB-INF/pages/
	  
	  
		.jsp
	  
	


5. Весенняя безопасность: Аутентификация пользователя

Создайте XML-файл Spring Security.



	
		
	

	
	  
	    
		
	    
	  
	


В нем говорится, что только пользователю “mkyong” разрешен доступ к URL-адресу /admin .

6. Интеграция системы безопасности Spring

Чтобы интегрировать Spring security с веб-приложением Spring MVC, просто объявите DelegatingFilterProxy в качестве фильтра сервлета для перехвата любого входящего запроса.



	Spring MVC Application

	
	
		mvc-dispatcher
		org.springframework.web.servlet.DispatcherServlet
		
		1
	
	
		mvc-dispatcher
		/
	

	
		org.springframework.web.context.ContextLoaderListener
		
	

        
	
		contextConfigLocation
		
			/WEB-INF/spring-security.xml
		
	

	
	
		springSecurityFilterChain
		org.springframework.web.filter.DelegatingFilterProxy
		
	

	
		springSecurityFilterChain
		/*
	


7. Демонстрация

Вот и все, но подождите… где форма входа в систему? Не беспокойтесь, если вы не определили какую-либо пользовательскую форму входа, Spring автоматически создаст простую форму входа.

1. Страница приветствия – http://localhost:8080/spring-security-helloworld-xml/welcome

2. Попытайтесь получить доступ /администратор страница, Spring Security перехватит запрос и перенаправит на /spring_security_login , и отобразится предопределенная форма входа в систему.

3. Если имя пользователя и пароль неверны, будут отображаться сообщения об ошибках, и Spring перенаправит на этот URL /spring_security_login?ошибка входа в систему .

4. Если имя пользователя и пароль верны, Spring перенаправит запрос на исходный запрошенный URL-адрес и отобразит страницу.

Скачать Исходный Код

Рекомендации

  1. Официальный Сайт службы безопасности Spring
  2. Весна 3 MVC привет мир пример
  3. Пример входа в форму безопасности Spring (аутентификация)

Оригинал: “https://mkyong.com/spring-security/spring-security-hello-world-example/”