Lente beveiliging - Spring Security

Lente beveiliging
Ontwikkelaar (s) 4
Stabiele vrijlating
5.2.1 / 4 november 2019 ; 16 maanden geleden
Geschreven in Java
Besturingssysteem Cross-platform
Type webapplicatie framework beveiliging
Licentie Apache-licentie 2.0
Website projecten .spring .io / spring-security /

Spring Security is een Java / Java EE- framework dat authenticatie , autorisatie en andere beveiligingsfuncties biedt voor bedrijfstoepassingen. Het project werd eind 2003 gestart als 'Acegi Security' (uitgesproken als Ah-see-gee / ɑː s / , waarvan de letters de eerste, derde, vijfde, zevende en negende lettertekens zijn uit het Engelse alfabet, om naamconflicten voorkomen) door Ben Alex, waarna het in maart 2004 publiekelijk werd vrijgegeven onder de Apache-licentie . Vervolgens werd Acegi opgenomen in de Spring- portfolio als Spring Security, een officieel Spring-subproject. De eerste openbare uitgave onder de nieuwe naam was Spring Security 2.0.0 in april 2008, met commerciële ondersteuning en training beschikbaar via SpringSource .

Authenticatiestroom

Diagram 1 toont de basisstroom van een authenticatieverzoek met behulp van het Spring Security-systeem. Het toont de verschillende filters en hoe ze samenwerken vanaf het eerste browserverzoek tot een geslaagde authenticatie of een HTTP 403-fout.

ACEGI Authentication.JPG

Browser dient " authenticatiegegevens " in
Er wordt een " authenticatieverzoek " -object gebouwd
Verificatieverzoek verzonden naar een AuthenticationManager
AuthenticationManager (dit is verantwoordelijk voor het doorgeven van verzoeken via een keten van AuthenticationProviders ')
Het resulterende UserDetails- object (dat ook de GrantedAuthority [] 's bevat ) zal worden gebruikt om het volledig gevulde Authentication- object te bouwen .
Als " authenticatie mechanisme " ontvangt terug de volledig bevolkt Authentication object, zal het het verzoek achten geldig is, zet de Authentication in de SecurityContextHolder ; en ervoor zorgen dat het oorspronkelijke verzoek opnieuw wordt geprobeerd.
Als, aan de andere kant, de AuthenticationProvider het verzoek heeft afgewezen, zal het authenticatiemechanisme de user-agent vragen om het opnieuw te proberen.
AbstractSecurityInterceptor autoriseert het opnieuw gegenereerde verzoek en genereert Java-uitzonderingen. (Vraagt AccessDecisionManager om een ​​beslissing.)
ExceptionTranslationFilter vertaalt de uitzonderingen gegenereerd door AbstractSecurityInterceptor in HTTP-gerelateerde foutcodes
Foutcode 403 - als de principal is geauthenticeerd en daarom simpelweg onvoldoende toegang heeft
Start een AuthenticationEntryPoint - als de principal niet is geauthenticeerd, wat een authenticatiemechanisme is

Belangrijkste authenticatiefuncties

Belangrijkste autorisatiefuncties

Op instanties gebaseerde beveiligingsfuncties

Andere mogelijkheden

Releases

  • 2.0.0 (april 2008)
  • 3.0.0 (december 2009)
  • 3.1.0 (7 december 2011)
  • 3.1.2 (10 augustus 2012)
  • 3.2.0 (16 december 2013)
  • 4.0.0 (26 maart 2015)
  • 4.1.3 (24 augustus 2016)
  • 4.2.0 (10 november 2016)
  • 3.2.10, 4.1.4, 4.2.1 (22 december 2016)
  • 4.2.2 (2 maart 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 januari 2019)
  • 5.1.4 (14 februari 2019)
  • 5.1.5, 5.0.12, 4.2.12 (3 april 2019)

Referenties

Externe links