Vårsäkerhet - Spring Security

Vårsäkerhet
Utvecklare 4
Stabil frisättning
5.2.1 / 4 november 2019 ; För 16 månader sedan  ( 2019-11-04 )
Skrivet i Java
Operativ system Tvärplattform
Typ säkerhet för webbapplikationsramverk
Licens Apache-licens 2.0
Hemsida projekt .spring .io / vårsäkerhet /

Spring Security är ett Java / Java EE- ramverk som ger autentisering , auktorisering och andra säkerhetsfunktioner för företagsapplikationer. Projektet startades i slutet av 2003 som "Acegi Security" (uttalad Ah-see-gee / ɑː s / , vars bokstäver är de första, tredje, femte, sjunde och nionde tecknen från det engelska alfabetet, för att förhindra namnkonflikter) av Ben Alex, med det är offentligt släppt under Apache License i mars 2004. Därefter Acegi införlivas i Spring portföljen Spring Security, en officiell Spring delprojekt. Den första offentliga utgåvan under det nya namnet var Spring Security 2.0.0 i april 2008, med kommersiellt stöd och utbildning tillgänglig från SpringSource .

Autentiseringsflöde

Diagram 1 visar det grundläggande flödet för en autentiseringsförfrågan med Spring Security-systemet. Den visar de olika filtren och hur de interagerar från den ursprungliga webbläsarförfrågan till antingen en lyckad autentisering eller ett HTTP 403-fel.

ACEGI Authentication.JPG

Webbläsare lämnar " inloggningsuppgifter "
" Autentiseringsmekanism " samlar in detaljerna
Ett " autentiseringsbegäran " -objekt byggs
Autentiseringsbegäran skickas till en AuthenticationManager
AuthenticationManager (detta är ansvarigt för att skicka förfrågningar genom en kedja av AuthenticationProviders ')
" Autentiseringsleverantör " kommer att be en UserDetailsService att tillhandahålla ett UserDetails- objekt
Det resulterande UserDetails- objektet (som också innehåller GrantedAuthority [] ) kommer att användas för att bygga det fullbefolkade autentiseringsobjektet .
Om " Autentiseringsmekanism " tar emot det fullständigt fyllda autentiseringsobjektet , kommer det att betrakta begäran som giltig, sätt autentiseringen i SecurityContextHolder ; och få den ursprungliga begäran att prövas på nytt.
Om å andra sidan AuthenticationProvider avvisade begäran kommer autentiseringsmekanismen att fråga användaragenten att försöka igen.
AbstractSecurityInterceptor godkänner den regenererade begäran och kastar Java-undantag. ( Frågar AccessDecisionManager för beslut.)
ExceptionTranslationFilter översätter undantagen från AbstractSecurityInterceptor till HTTP-relaterade felkoder
Felkod 403 - om huvudmannen har autentiserats och därför helt enkelt saknar tillräcklig åtkomst
Starta en AuthenticationEntryPoint - om huvudmannen inte har autentiserats vilket är en autentiseringsmekanism

Viktiga autentiseringsfunktioner

Viktiga funktioner för auktorisering

Instansbaserade säkerhetsfunktioner

Andra funktioner

Släpp

  • 2.0.0 (april 2008)
  • 3.0.0 (december 2009)
  • 3.1.0 (7 december 2011)
  • 3.1.2 (10 augusti 2012)
  • 3.2.0 (16 december 2013)
  • 4.0.0 (26 mars 2015)
  • 4.1.3 (24 augusti 2016)
  • 4.2.0 (10 november 2016)
  • 3.2.10, 4.1.4, 4.2.1 (22 december 2016)
  • 4.2.2 (2 mars 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)

Referenser

externa länkar