From b71b2f81e1cffb8661a3862446224c78f16c15ce Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Fri, 11 Mar 2022 12:43:02 -0600 Subject: [PATCH] Add Persistence to documentation Closes gh-10962 --- .../securitycontextpersistencefilter.odg | Bin 0 -> 15257 bytes .../securitycontextpersistencefilter.png | Bin 0 -> 105654 bytes docs/modules/ROOT/nav.adoc | 1 + .../servlet/authentication/persistence.adoc | 107 ++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.odg create mode 100644 docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.png create mode 100644 docs/modules/ROOT/pages/servlet/authentication/persistence.adoc diff --git a/docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.odg b/docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.odg new file mode 100644 index 0000000000000000000000000000000000000000..c4a74df3d3795d0434a62423190fcca2831a0266 GIT binary patch literal 15257 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 literal 0 HcmV?d00001 diff --git a/docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.png b/docs/modules/ROOT/assets/images/servlet/authentication/securitycontextpersistencefilter.png new file mode 100644 index 0000000000000000000000000000000000000000..ac12c18c453761cc79c7ebb99190b21161887767 GIT binary patch literal 105654 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 literal 0 HcmV?d00001 diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index f53038b8ba..fe11cb5376 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -36,6 +36,7 @@ ***** xref:servlet/authentication/passwords/password-encoder.adoc[PasswordEncoder] ***** xref:servlet/authentication/passwords/dao-authentication-provider.adoc[DaoAuthenticationProvider] ***** xref:servlet/authentication/passwords/ldap.adoc[LDAP] +*** xref:servlet/authentication/persistence.adoc[Persistence] *** xref:servlet/authentication/session-management.adoc[Session Management] *** xref:servlet/authentication/rememberme.adoc[Remember Me] *** xref:servlet/authentication/openid.adoc[OpenID] diff --git a/docs/modules/ROOT/pages/servlet/authentication/persistence.adoc b/docs/modules/ROOT/pages/servlet/authentication/persistence.adoc new file mode 100644 index 0000000000..044b08ee69 --- /dev/null +++ b/docs/modules/ROOT/pages/servlet/authentication/persistence.adoc @@ -0,0 +1,107 @@ +[[persistant]] += Persisting Authentication +:figures: servlet/authentication + +The first time a user requests a protected resource, they are xref:servlet/authentication/architecture.adoc#servlet-authentication-authenticationentrypoint[prompted for credentials]. +One of the most common ways to prompt for credentials is to redirect the user to a xref:servlet/authentication/passwords/form.adoc[log in page]. +A summarized HTTP exchange for an unauthenticated user requesting a protected resource might look like this: + +.Unauthenticated User Requests Protected Resource +==== +[source,http] +---- +GET / HTTP/1.1 +Host: example.com +Cookie: SESSION=91470ce0-3f3c-455b-b7ad-079b02290f7b +---- + +[source,http] +---- +HTTP/1.1 302 Found +Location: /login +---- +==== + +The user submits their username and password. + +.Username and Password Submitted +==== +[source,http] +---- +POST /login HTTP/1.1 +Host: example.com +Cookie: SESSION=91470ce0-3f3c-455b-b7ad-079b02290f7b + +username=user&password=password&_csrf=35942e65-a172-4cd4-a1d4-d16a51147b3e +---- +==== + +Upon authenticating the user, the user is associated to a new session id to prevent xref:servlet/authentication/session-management.adoc#ns-session-fixation[session fixation attacks]. + +.Authenticated User is Associated to New Session +==== +[source,http] +---- +HTTP/1.1 302 Found +Location: / +Set-Cookie: SESSION=4c66e474-3f5a-43ed-8e48-cc1d8cb1d1c8; Path=/; HttpOnly; SameSite=Lax +---- +==== + +Subsequent requests include the session cookie which is used to authenticate the user for the remainder of the session. + +.Authenticated Session Provided as Credentials +==== +[source,http] +---- +GET / HTTP/1.1 +Host: example.com +Cookie: SESSION=4c66e474-3f5a-43ed-8e48-cc1d8cb1d1c8 +---- +==== + + +[[securitycontextrepository]] +== SecurityContextRepository + +// FIXME: api documentation +In Spring Security the association of the user to future requests is made using {security-api-url}org/springframework/security/web/context/SecurityContextRepository.html[`SecurityContextRepository`]. + +[[httpsecuritycontextrepository]] +=== HttpSecurityContextRepository + +The default implementation of `SecurityContextRepository` is {security-api-url}org/springframework/security/web/context/HttpSessionSecurityContextRepository.html[`HttpSessionSecurityContextRepository`] which associates the xref:servlet/authentication/architecture.adoc#servlet-authentication-securitycontext[`SecurityContext`] to the `HttpSession`. +Users can replace `HttpSessionSecurityContextRepository` with another implementation of `SecurityContextRepository` if they wish to associate the user with subsequent requests in another way or not at all. + +[[nullsecuritycontextrepository]] +=== NullSecurityContextRepository + +If it is not desirable to associate the `SecurityContext` to an `HttpSession` (i.e. when authenticating with OAuth) the {security-api-url}org/springframework/security/web/context/NullSecurityContextRepository.html[`NullSecurityContextRepository`] is an implementation of `SecurityContextRepository` that does nothing. + +[[requestattributesecuritycontextrepository]] +=== RequestAttributeSecurityContextRepository + +The {security-api-url}org/springframework/security/web/context/RequestAttributeSecurityContextRepository.html[`RequestAttributeSecurityContextRepository`] saves the `SecurityContext` as a request attribute to make sure the `SecurityContext` is avaible for a single request that occurs across dispatch types that may clear out the `SecurityContext`. + +For example, assume that a client makes a request, is authenticated, and then an error occurs. +Depending on the servlet container implementation, the error means that any `SecurityContext` that was established is cleared out and then the error dispatch is made. +When the error dispatch is made, there is no `SecurityContext` established. +This means that the error page cannot use the `SecurityContext` for authorization or displaying the current user unless the `SecurityContext` is persisted somehow. + +== SecurityContextPersistenceFilter + +The {security-api-url}org/springframework/security/web/context/SecurityContextPersistenceFilter.html[`SecurityContextPersistenceFilter`] is responsible for persisting the `SecurityContext` between requests using the xref::servlet/authentication/persistence.adoc#securitycontextrepository[`SecurityContextRepository`]. + +image::{figures}/securitycontextpersistencefilter.png[] + +<1> Before running the rest of the application, `SecurityContextPersistenceFilter` loads the `SecurityContext` from the `SecurityContextRepository` and sets it on the `SecurityContextHolder`. +<2> Next, the application is ran. +<3> Finally, if the `SecurityContext` has changed, we save the `SecurityContext` using the `SecurityContextPersistenceRepository`. +This means that when using `SecurityContextPersistenceFilter`, just setting the `SecurityContextHolder` will ensure that the `SecurityContext` is persisted using `SecurityContextRepository`. + +In some cases a response is committed and written to the client before the `SecurityContextPersisteneFilter` method completes. +For example, if a redirect is sent to the client the response is immediately written back to the client. +This means that establishing an `HttpSession` would not be possible in step 3 because the session id could not be included in the already written response. +Another situation that can happen is that if a client authenticates successfully, the response is committed before `SecurityContextPersistenceFilter` completes, and the client makes a second request before the `SecurityContextPersistenceFilter` completes the wrong authentication could be present in the second request. + +To avoid these problems, the `SecurityContextPersistenceFilter` wraps both the `HttpServletRequest` and the `HttpServletResponse` to detect if the `SecurityContext` has changed and if so save the `SecurityContext` just before the response is committed. \ No newline at end of file