Spring Security-Prinzip
Spring Security übernimmt das Chain-of-Responsibility-Designmuster. Zunächst gibt es eine lange Filterkette Anfrage, geben Sie die Sicherheitsfilterkette ein, bestimmen Sie dann, ob es sich um eine Anmeldung handelt, und suchen Sie schließlich den entsprechenden Authentifizierungsmanager basierend auf dem URI für die Authentifizierung.
Flussdiagramm
Prozessbeschreibung
Der Client initiiert eine Anfrage und tritt in die Sicherheitsfilterkette ein.
Bestimmen Sie beim Erreichen des LogoutFilters, ob es sich um den Logout-Pfad handelt. Wenn die Abmeldung erfolgreich ist, gehen Sie zum LogoutSuccessHandler, um den zu verarbeiten Wenn die Abmeldung fehlschlägt, fahren Sie mit „By ExceptionTranslationFilter“ direkt mit dem nächsten Filter fort, wenn dies nicht der Abmeldepfad ist.
Bestimmen Sie beim Erreichen des UsernamePasswordAuthenticationFilters, ob es sich um den Anmeldepfad handelt. Wenn die Anmeldung fehlschlägt, gehen Sie zum Anmeldefehler-Handler AuthenticationFailureHandler Wenn die Anmeldung erfolgreich ist, gehen Sie zur Verarbeitung zum AuthenticationSuccessHandler-Anmeldeerfolgsprozessor. Wenn es sich nicht um eine Anmeldeanforderung handelt, wird der Filter nicht eingegeben.
Wenn es um FilterSecurityInterceptor geht, wird es den entsprechenden Authentifizierungsmanager finden, wenn die Authentifizierung erfolgt Bei Erfolg wird es zur Controller-Ebene weitergeleitet. Gehen Sie zur Verarbeitung zum AccessDeniedHandler-Authentifizierungsfehler-Handler.
Empfohlenes Tutorial: „Java-Tutorial“
Das obige ist der detaillierte Inhalt vonSpring-Sicherheitsprinzipien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!