Spring Security-Zugriffskontrollbeispiel

Beispiel für die Zugriffskontrolle von Spring Security

In Spring Security ist die Zugriffskontrolle oder -autorisierung einfach zu implementieren. Siehe folgenden Codeausschnitt:

  
    
  

Dies bedeutet, dass nur Benutzer mit der Berechtigung "ROLE_ADMIN" auf URI/admin * zugreifen dürfen. Wenn nicht autorisierte Benutzer versuchen, darauf zuzugreifen, wird ein "http 403 access denied page" angezeigt.

Spring EL + Access Control
Siehe entsprechende Version in Spring EL. Es ist flexibler und enthält viele nützliche vorgefertigte Funktionen wie „hasIpAddress“. Überprüfen Sie alle verfügbaren el-Funktionen in diesenofficial Spring el access control documentation.

  
    
  

In diesem Tutorial zeigen wir Ihnen, wie Sie mit Spring Security die Zugriffssteuerung auf die URL "/admin *" implementieren, wobei nur Benutzer, die mit "ROLE_ADMIN" autorisiert sind, auf diese Seite zugreifen dürfen.

1. Projektabhängigkeiten

Die Zugriffskontrolle ist in der Kernversion von Spring Security enthalten. In diesemSpring Security hello world example finden Sie eine Liste der erforderlichen Abhängigkeiten.

2. Spring MVC

Spring MVC Controller und gib eine "Hallo" -Ansicht zurück, es sollte selbsterklärend sein.

Datei: WelcomeController.java

package com.example.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";

    }

}

Datei: hello.jsp

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


    

Message : ${message}

" > Logout

3. Frühling Sicherheit

Bei vollständiger Spring-Sicherheitskonfiguration kann nur der Benutzer "eclipse" auf die Seite "/admin" zugreifen.



    
        
        
    

    
      
       
        
        
       
      
    

4. Demo

1. Das Standard-Anmeldeformular wird angezeigt.

demo page - access control

2. Wenn der Benutzer "example" angemeldet ist, wird "http 403 is access denied page" angezeigt, da "example" "ROLE_USER" ist.

demo page - access denied

3. Wenn der Benutzer "eclipse" angemeldet ist, wird "hello.jsp" angezeigt, da "eclipse" "ROLE_ADMIN" ist.

demo page - success

Customize 403 page
Die Standard-403-Seite ist hässlich. Lesen Sie dieses Beispiel -How to customize http 403 access denied page in spring security.

Quellcode herunterladen

Laden Sie es herunter -Spring-Security-Access-Control-Example.zip (10 KB)