Frühlingssicherheit - Spring Security

Frühlingssicherheit
Entwickler 4
Stabile Version
5.2.1 / 4. November 2019 ; Vor 16 Monaten  ( 04.11.2019 )
Geschrieben in Java
Betriebssystem Plattformübergreifend
Art Sicherheit des Webanwendungs-Frameworks
Lizenz Apache License 2.0
Webseite projekte .spring .io / spring-security /

Spring Security ist ein Java / Java EE- Framework, das Authentifizierung , Autorisierung und andere Sicherheitsfunktionen für Unternehmensanwendungen bietet. Das Projekt wurde Ende 2003 als 'Acegi Security' (ausgesprochen Ah-see-gee / ɑː s /) gestartet , dessen Buchstaben das erste, dritte, fünfte, siebte und neunte Zeichen des englischen Alphabets sind, um verhindern Namenskonflikte) von Ben Alex, der im März 2004 unter der Apache-Lizenz veröffentlicht wurde. Anschließend wurde Acegi als Spring Security, ein offizielles Spring-Teilprojekt, in das Spring- Portfolio aufgenommen. Die erste Veröffentlichung unter dem neuen Namen war Spring Security 2.0.0 im April 2008, mit kommerzieller Unterstützung und Schulung von SpringSource .

Authentifizierungsablauf

Abbildung 1 zeigt den grundlegenden Ablauf einer Authentifizierungsanforderung unter Verwendung des Spring Security-Systems. Es zeigt die verschiedenen Filter und wie sie von der ersten Browseranforderung bis zu einer erfolgreichen Authentifizierung oder einem HTTP 403-Fehler interagieren.

ACEGI Authentication.JPG

Browser sendet " Authentifizierungsdaten "
" Authentifizierungsmechanismus " sammelt die Details
Ein " Authentifizierungsanforderungs " -Objekt wird erstellt
Authentifizierungsanforderung an einen AuthenticationManager gesendet
AuthenticationManager (dies ist für die Weiterleitung von Anforderungen über eine Kette von AuthenticationProvidern verantwortlich)
" Authentifizierungsanbieter " fordert einen UserDetailsService auf, ein UserDetails- Objekt bereitzustellen
Das resultierende UserDetails- Objekt (das auch die GrantedAuthority [] enthält ) wird zum Erstellen des vollständig ausgefüllten Authentifizierungsobjekts verwendet .
Wenn „ Authentifizierungsmechanismus empfängt die Rückseite voll bestückt Authentication Objekt, wird die Anforderung gültig erachten, legte die Authentifizierung in die SecurityContextHolder ; und veranlassen, dass die ursprüngliche Anforderung erneut versucht wird.
Wenn andererseits der AuthenticationProvider die Anforderung abgelehnt hat, fordert der Authentifizierungsmechanismus den Benutzeragenten auf, es erneut zu versuchen.
AbstractSecurityInterceptor autorisiert die neu generierte Anforderung und löst Java-Ausnahmen aus. ( Fordert AccessDecisionManager zur Entscheidung auf.)
ExceptionTranslationFilter übersetzt die von AbstractSecurityInterceptor ausgelösten Ausnahmen in HTTP-bezogene Fehlercodes
Fehlercode 403 - wenn der Principal authentifiziert wurde und daher einfach keinen ausreichenden Zugriff hat
Starten Sie einen AuthenticationEntryPoint - wenn der Principal nicht authentifiziert wurde, was ein Authentifizierungsmechanismus ist

Wichtige Authentifizierungsfunktionen

Wichtige Autorisierungsfunktionen

Instanzbasierte Sicherheitsfunktionen

Andere Eigenschaften

Veröffentlichungen

  • 2.0.0 (April 2008)
  • 3.0.0 (Dezember 2009)
  • 3.1.0 (7. Dezember 2011)
  • 3.1.2 (10. August 2012)
  • 3.2.0 (16. Dezember 2013)
  • 4.0.0 (26. März 2015)
  • 4.1.3 (24. August 2016)
  • 4.2.0 (10. November 2016)
  • 3.2.10, 4.1.4, 4.2.1 (22. Dezember 2016)
  • 4.2.2 (2. März 2017)
  • 4.2.3 (8. Juni 2017)
  • 5.0.0 (28. November 2017)
  • 5.0.8, 4.2.8 (11. September 2018)
  • 5.1.0 GA (27. September 2018)
  • 5.1.1, 5.0.9, 4.2.9 (16. Oktober 2018)
  • 5.1.2, 5.0.10, 4.2.10 (29. November 2018)
  • 5.1.3, 5.0.11, 4.2.11 (11. Januar 2019)
  • 5.1.4 (14. Februar 2019)
  • 5.1.5, 5.0.12, 4.2.12 (3. April 2019)

Verweise

Externe Links