Vårsäkerhet

Vårsäkerhet
Utvecklare 4
Stabil frisättning
5.2.1 / 4 november 2019 ; för 3 år sedan ( 2019-11-04 )
Skrivet i Java
Operativ system Cross-plattform
Typ säkerhet för webbapplikationsramverk
Licens Apache-licens 2.0
Hemsida projekt .spring .io /spring-security /

Spring Security är ett Java / Java EE- ramverk som tillhandahåller autentisering , auktorisering och andra säkerhetsfunktioner för företagsapplikationer. Projektet startades i slutet av 2003 som "Acegi Security" (uttalas Ah-see-gee / ɑː s / , vars bokstäver är det första, tredje, femte, sjunde och nionde tecknet från det engelska alfabetet, för att förhindra namnkonflikter) av Ben Alex, och den släpptes offentligt under Apache-licensen i mars 2004. Därefter införlivades Acegi i Spring -portföljen som Spring Security, ett officiellt Spring-underprojekt. Den första offentliga utgåvan under det nya namnet var Spring Security 2.0.0 i april 2008, med kommersiell support och utbildning tillgänglig från SpringSource .

Autentiseringsflöde

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

ACEGI Authentication.JPG

Webbläsaren skickar " autentiseringsuppgifter "
" Autentiseringsmekanism " samlar in detaljerna
Ett objekt " autentiseringsbegäran " byggs
Autentiseringsbegäran skickas till en AuthenticationManager
AuthenticationManager " " Authentication provider för att tillhandahålla ett UserDetails- objekt
( detta är ansvarig för att skicka förfrågningar genom en kedja av AuthenticationProviders)
Det resulterande UserDetails- objektet (som också innehåller GrantedAuthority[]s ) kommer att användas för att bygga det fullt ifyllda Authentication -objektet.

Om " Autentiseringsmekanism " tar emot det fullständigt ifyllda Authentication- objektet, kommer den att anse att begäran är giltig, lägga in Authentication i SecurityContextHolder ; och få den ursprungliga begäran att prövas igen. Om, å andra sidan, AuthenticationProvider avvisade begäran, kommer autentiseringsmekanismen att be användaragenten att försöka igen.
AbstractSecurityInterceptor auktoriserar den regenererade begäran och kastar Java-undantag. (Frågar AccessDecisionManager om beslut.)
ExceptionTranslationFilter översätter undantagen som slängs av 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 mekanism

Viktiga autentiseringsfunktioner

Viktiga auktoriseringsfunktioner

Instansbaserade säkerhetsfunktioner

Andra funktioner

Släpps

  • 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)

externa länkar