From 88ac7a5d2e147583cbe875b9475e5af7192b9f6d Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Fri, 30 Jul 2021 11:54:39 -0500 Subject: [PATCH] Fixup servlet/authentication/architecture/index.adoc --- .../servlet/authentication/architecture/index.adoc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/modules/ROOT/pages/servlet/authentication/architecture/index.adoc b/docs/modules/ROOT/pages/servlet/authentication/architecture/index.adoc index a7f768cc1f..9b0305bc5f 100644 --- a/docs/modules/ROOT/pages/servlet/authentication/architecture/index.adoc +++ b/docs/modules/ROOT/pages/servlet/authentication/architecture/index.adoc @@ -3,7 +3,19 @@ :figures: images/servlet/authentication/architecture :icondir: images/icons -This discussion expands on <> to discuss the Servlet Authentication architecture. +This discussion expands on <> to describe the main architectural components of Spring Security's used in Servlet authentication. +If you need concrete flows that explain how these pieces fit together, look at the <> specific sections. + +* <> - The `SecurityContextHolder` is where Spring Security stores the details of who is <>. +* <> - is obtained from the `SecurityContextHolder` and contains the `Authentication` of the currently authenticated user. +* <> - Can be the input to `AuthenticationManager` to provide the credentials a user has provided to authenticate or the current user from the `SecurityContext`. +* <> - An authority that is granted to the principal on the `Authentication` (i.e. roles, scopes, etc.) +* <> - the API that defines how Spring Security's Filters perform <>. +* <> - the most common implementation of `AuthenticationManager`. +* <> - used by `ProviderManager` to perform a specific type of authentication. +* <> - used for requesting credentials from a client (i.e. redirecting to a log in page, sending a `WWW-Authenticate` response, etc.) +* <> - a base `Filter` used for authentication. +This also gives a good idea of the high level flow of authentication and how pieces work together. [[servlet-authentication-securitycontextholder]] == SecurityContextHolder