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

Пример контроля доступа Spring Security

– Пример контроля доступа Spring Security

В Spring Security легко реализовать контроль доступа или авторизацию. Смотрите следующий фрагмент кода:

  
	
  

Это означает, что доступ к URI разрешен только пользователю с полномочиями ” ROLE_ADMIN/администратор * . Если неавторизованный пользователь попытается получить к нему доступ, будет отображена страница ” http 403 доступ запрещен “.

  
	
  

В этом уроке мы покажем вам, как использовать Spring Security для реализации контроля доступа к URL ” /администратор * ” , где доступ к этой странице разрешен только пользователю, авторизованному с помощью ” ROLE_ADMIN “.

1. Зависимости проекта

Контроль доступа входит в состав core Spring Security jar. Обратитесь к этому Пример Spring Security hello world для получения списка необходимых зависимостей.

2. Весенний MVC

Контроллер Spring MVC и возвращает представление “привет” , это должно быть само собой разумеющимся.

Файл: WelcomeController.java

package com.mkyong.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class WelcomeController {

	@RequestMapping(value = "/admin", method = RequestMethod.GET)
	public String welcomeAdmin(ModelMap model) {

		model.addAttribute("message", "Spring Security - ROLE_ADMIN");
		return "hello";

	}
	
}

Файл: hello.jsp

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


	

Message : ${message}

" > Logout

3. Весенняя безопасность

Полная конфигурация безопасности Spring, доступ разрешен только пользователю ” eclipse/администратор “страница.



	
		
		
	

	
	  
	   
		
		
	   
	  
	


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

URL: http://localhost:8080/SpringMVC/admin

1. Отобразится форма входа по умолчанию.

2. Если пользователь ” mkyong ” вошел в систему, ” http 403 запрещен доступ к странице ” будет отображаться, потому что ” mkyong ” является ” РОЛЕВЫМ ПОЛЬЗОВАТЕЛЕМ “.

3. Если пользователь ” eclipse ” вошел в систему, ” hello.jsp “будет отображаться, потому что ” eclipse “является ” ROLE_ADMIN “.

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

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

  1. Документация по авторизации Spring security
  2. Документация по контролю доступа Spring security + el

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