From d009a7b1de51e980336497b33231d89383246cb8 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Mon, 24 Feb 2020 15:13:41 -0600 Subject: [PATCH] Add ProviderManager to Reference Closes gh-8029 --- .../_includes/servlet/appendix/namespace.adoc | 3 +- .../servlet/architecture/core-services.adoc | 59 +----------------- .../_includes/servlet/architecture/index.adoc | 1 + .../architecture/technical-overview.adoc | 4 +- .../architecture/authentication-manager.adoc | 2 +- .../authentication/architecture/index.adoc | 4 +- .../architecture/provider-manager.adoc | 36 +++++++++++ .../servlet/authentication/index.adoc | 11 +++- .../architecture/providermanager-parent.odg | Bin 0 -> 11579 bytes .../architecture/providermanager-parent.png | Bin 0 -> 23695 bytes .../architecture/providermanager.odg | Bin 0 -> 13689 bytes .../architecture/providermanager.png | Bin 0 -> 44856 bytes .../architecture/providermanagers-parent.odg | Bin 0 -> 12809 bytes .../architecture/providermanagers-parent.png | Bin 0 -> 35162 bytes 14 files changed, 53 insertions(+), 67 deletions(-) create mode 100644 docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/provider-manager.adoc create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.odg create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.png create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager.odg create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager.png create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.odg create mode 100644 docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.png diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/appendix/namespace.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/appendix/namespace.adoc index c94132edb6..39b653a2d2 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/appendix/namespace.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/appendix/namespace.adoc @@ -2039,8 +2039,7 @@ Its use is described in the <>. [[nsa-authentication-manager-erase-credentials]] * **erase-credentials** If set to true, the AuthenticationManager will attempt to clear any credentials data in the returned Authentication object, once the user has been authenticated. -Literally it maps to the `eraseCredentialsAfterAuthentication` property of the `ProviderManager`. -This is discussed in the <> chapter. +Literally it maps to the `eraseCredentialsAfterAuthentication` property of the <>. [[nsa-authentication-manager-id]] diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/core-services.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/core-services.adoc index dc9bb50078..0efc54cda5 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/core-services.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/core-services.adoc @@ -3,65 +3,8 @@ Now that we have a high-level overview of the Spring Security architecture and its core classes, let's take a closer look at one or two of the core interfaces and their implementations, in particular the `AuthenticationManager`, `UserDetailsService` and the `AccessDecisionManager`. These crop up regularly throughout the remainder of this document so it's important you know how they are configured and how they operate. - -[[core-services-authentication-manager]] -=== The AuthenticationManager, ProviderManager and AuthenticationProvider -The `AuthenticationManager` is just an interface, so the implementation can be anything we choose, but how does it work in practice? What if we need to check multiple authentication databases or a combination of different authentication services such as a database and an LDAP server? - -The default implementation in Spring Security is called `ProviderManager` and rather than handling the authentication request itself, it delegates to a list of configured `AuthenticationProvider` s, each of which is queried in turn to see if it can perform the authentication. -Each provider will either throw an exception or return a fully populated `Authentication` object. -Remember our good friends, `UserDetails` and `UserDetailsService`? If not, head back to the previous chapter and refresh your memory. -The most common approach to verifying an authentication request is to load the corresponding `UserDetails` and check the loaded password against the one that has been entered by the user. -This is the approach used by the `DaoAuthenticationProvider` (see below). -The loaded `UserDetails` object - and particularly the `GrantedAuthority` s it contains - will be used when building the fully populated `Authentication` object which is returned from a successful authentication and stored in the `SecurityContext`. - -If you are using the namespace, an instance of `ProviderManager` is created and maintained internally, and you add providers to it by using the namespace authentication provider elements (see <>). -In this case, you should not declare a `ProviderManager` bean in your application context. -However, if you are not using the namespace then you would declare it like so: - -[source,xml] ----- - - - - - - - - - - ----- - -In the above example we have three providers. -They are tried in the order shown (which is implied by the use of a `List`), with each provider able to attempt authentication, or skip authentication by simply returning `null`. -If all implementations return null, the `ProviderManager` will throw a `ProviderNotFoundException`. -If you're interested in learning more about chaining providers, please refer to the `ProviderManager` Javadoc. - -Authentication mechanisms such as a web form-login processing filter are injected with a reference to the `ProviderManager` and will call it to handle their authentication requests. -The providers you require will sometimes be interchangeable with the authentication mechanisms, while at other times they will depend on a specific authentication mechanism. -For example, `DaoAuthenticationProvider` and `LdapAuthenticationProvider` are compatible with any mechanism which submits a simple username/password authentication request and so will work with form-based logins or HTTP Basic authentication. -On the other hand, some authentication mechanisms create an authentication request object which can only be interpreted by a single type of `AuthenticationProvider`. -An example of this would be JA-SIG CAS, which uses the notion of a service ticket and so can therefore only be authenticated by a `CasAuthenticationProvider`. -You needn't be too concerned about this, because if you forget to register a suitable provider, you'll simply receive a `ProviderNotFoundException` when an attempt to authenticate is made. - - -[[core-services-erasing-credentials]] -==== Erasing Credentials on Successful Authentication -By default (from Spring Security 3.1 onwards) the `ProviderManager` will attempt to clear any sensitive credentials information from the `Authentication` object which is returned by a successful authentication request. -This prevents information like passwords being retained longer than necessary. - -This may cause issues when you are using a cache of user objects, for example, to improve performance in a stateless application. -If the `Authentication` contains a reference to an object in the cache (such as a `UserDetails` instance) and this has its credentials removed, then it will no longer be possible to authenticate against the cached value. -You need to take this into account if you are using a cache. -An obvious solution is to make a copy of the object first, either in the cache implementation or in the `AuthenticationProvider` which creates the returned `Authentication` object. -Alternatively, you can disable the `eraseCredentialsAfterAuthentication` property on `ProviderManager`. -See the Javadoc for more information. - - [[core-services-dao-provider]] -==== DaoAuthenticationProvider +=== DaoAuthenticationProvider The simplest `AuthenticationProvider` implemented by Spring Security is `DaoAuthenticationProvider`, which is also one of the earliest supported by the framework. It leverages a `UserDetailsService` (as a DAO) in order to lookup the username, password and `GrantedAuthority` s. It authenticates the user simply by comparing the password submitted in a `UsernamePasswordAuthenticationToken` against the one loaded by the `UserDetailsService`. diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/index.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/index.adoc index 7c22abd41f..18c6df5925 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/index.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/index.adoc @@ -1,5 +1,6 @@ [[servlet-architecture]] = Architecture and Implementation +// FIXME: change to something like Servlet Security: The Big Picture :figures: images/servlet/architecture This section discusses Spring Security's high level architecture within Servlet based applications. diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/technical-overview.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/technical-overview.adoc index 4db7d608a3..4d0627cf31 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/technical-overview.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/architecture/technical-overview.adoc @@ -42,7 +42,7 @@ Remember the advantage that whatever your `UserDetailsService` returns can alway There is often some confusion about `UserDetailsService`. It is purely a DAO for user data and performs no other function other than to supply that data to other components within the framework. In particular, it __does not__ authenticate the user, which is done by the `AuthenticationManager`. -In many cases it makes more sense to <> directly if you require a custom authentication process. +In many cases it makes more sense to implement `AuthenticationProvider` directly if you require a custom authentication process. ==== @@ -188,7 +188,7 @@ All you need to do is write a filter (or equivalent) that reads the third-party In this case you also need to think about things which are normally taken care of automatically by the built-in authentication infrastructure. For example, you might need to pre-emptively create an HTTP session to <>, before you write the response to the client footnote:[It isn't possible to create a session once the response has been committed.]. -If you're wondering how the `AuthenticationManager` is implemented in a real world example, we'll look at that in the <>. +If you're wondering how the `AuthenticationManager` is implemented in a real world example, we'll look at that in the <>. [[tech-intro-web-authentication]] diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/authentication-manager.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/authentication-manager.adoc index 3337ae7f52..816a638dff 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/authentication-manager.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/authentication-manager.adoc @@ -5,6 +5,6 @@ The `Authentication` that is returned is then set on the <>. If you are not integrating with <>, you can set the `SecurityContextHolder` directly and are not required to use an `AuthenticationManager`. -While the implementation of `AuthenticationManager` could be anything, Spring Security provides `ProviderManager` which allows users to provide multiple `AuthenticationProvider` implementations. +While the implementation of `AuthenticationManager` could be anything, the most common implementation is <>. // FIXME: link to ProviderManager // FIXME: add configuration diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/index.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/index.adoc index f2396a6c57..d50c286dcc 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/index.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/index.adoc @@ -12,9 +12,7 @@ include::abstract-authentication-processing-filter.adoc[leveloffset=+1] include::authentication-manager.adoc[leveloffset=+1] -// authenticationmanager - -// providermanager +include::provider-manager.adoc[leveloffset=+1] // authenticationprovider diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/provider-manager.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/provider-manager.adoc new file mode 100644 index 0000000000..98535aef47 --- /dev/null +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/architecture/provider-manager.adoc @@ -0,0 +1,36 @@ +[[servlet-authentication-providermanager]] += ProviderManager +:figures: images/servlet/authentication/architecture + +{security-api-url}org/springframework/security/authentication/ProviderManager.html[`ProviderManager`] is the most commonly used implementation of <>. +`ProviderManager` delegates to a `List` of ``AuthenticationProvider``s. +// FIXME: link to AuthenticationProvider +Each `AuthenticationProvider` has an opportunity to indicate that authentication should be successful, fail, or indicate it cannot make a decision and allow a downstream `AuthenticationProvider` to decide. +If none of the configured ``AuthenticationProvider``s can authenticate, then authentication will fail with a `ProviderNotFoundException` which is a special `AuthenticationException` that indicates the `ProviderManager` was not configured support the type of `Authentication` that was passed into it. + +image::{figures}/providermanager.png[] + +In practice each `AuthenticationProvider` knows how to perform a specific type of authentication. + For example, one `AuthenticationProvider` might be able to validate a username/password, while another might be able to authenticate a SAML assertion. +This allows each `AuthenticationProvider` to do a very specific type of authentication, while supporting multiple types of authentication and only exposing a single `AuthenticationManager` bean. + +`ProviderManager` also allows configuring an optional parent `AuthenticationManager` which is consulted in the event that no `AuthenticationProvider` can perform authentication. +The parent can be any type of `AuthenticationManager`, but it is often an instance of `ProviderManager`. + +image::{figures}/providermanager-parent.png[] + +In fact, multiple `ProviderManager` instances might share the same parent `AuthenticationManager`. +This is somewhat common in scenarios where there are multiple <> instances that have some authentication in common (the shared parent `AuthenticationManager`), but also different authentication mechanisms (the different `ProviderManager` instances). + +image::{figures}/providermanagers-parent.png[] + +[[servlet-authentication-providermanager-erasing-credentials]] +By default `ProviderManager` will attempt to clear any sensitive credentials information from the `Authentication` object which is returned by a successful authentication request. +This prevents information like passwords being retained longer than necessary in the `HttpSession`. + +This may cause issues when you are using a cache of user objects, for example, to improve performance in a stateless application. +If the `Authentication` contains a reference to an object in the cache (such as a `UserDetails` instance) and this has its credentials removed, then it will no longer be possible to authenticate against the cached value. +You need to take this into account if you are using a cache. +An obvious solution is to make a copy of the object first, either in the cache implementation or in the `AuthenticationProvider` which creates the returned `Authentication` object. +Alternatively, you can disable the `eraseCredentialsAfterAuthentication` property on `ProviderManager`. +See the {security-api-url}org/springframework/security/authentication/ProviderManager.html[Javadoc] for more information. diff --git a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/index.adoc b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/index.adoc index 6e81ca3a85..664b90768a 100644 --- a/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/index.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/servlet/authentication/index.adoc @@ -7,16 +7,25 @@ This section discusses: [[servlet-authentication-architecture]] *Architecture Components* +This section describes 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 in specific sections. +// FIXME: add for example see form login if you want to see more concrete flows. + * <> - 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.) * <> - 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 +* <> - a base `Filter` used for authentication. +This also gives a good idea of the high level flow of authentication and how pieces work together. * <> - the API that defines how Spring Security's Filters perform <>. +* <> - the most common implementation of `AuthenticationManager`. +[[servlet-authentication-mechanisms]] *Authentication Mechanisms* +// FIXME: brief description + * <> - how to authenticate with a username/password // FIXME: Add other mechanisms diff --git a/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.odg b/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.odg new file mode 100644 index 0000000000000000000000000000000000000000..9f42f682496760ec8af76588c03941107f9b27b2 GIT binary patch literal 11579 zcmcI~1yo!~w=RL;7Tg2D2_D=%Sa1pMF5L}{Ymi`p;O@cQ-66QU1$T$WA;3%Kt+|=` zZ)Vhn4JJ7Oh7}hC71~aG6k3bjU8=G0S-*&_J$w}OJlI&AAkr5 z2!8PjYaUT)b@#6O8X0N$MTR@;f#)fs*W&c?lQ`FzH5 zIiUX7^x+XLHML`B$t({LZeGsaj1YSs8+JeouEWmla6N|?p{2mYNEi2tu@M!Oew#%p z70p6Hr)kR5+S$jGg*Symg%~FFBAQk^(1c{iB|xsQ{UeFshf%&Gt5_i}X^3a+cU~)< z%~8uk=Aw?6qNlOmQ~xDDf1hH9TS_NFulf-?!iZJt7b`-D^CY#*2M)>9%h2VvHFq#W zMxuoFPjkUZ_h(AmS?k%LyCO4w8DrRU9i5{dq^>oG30zu<`k}M=)w7yWy+;^DS$KqO zEf4zEXHZbDpF=_YbIwtIWFKtm;9v5j`^|Ri@;`G157|4 zGTye7D2$H#1NC8dek4^mW#H*a)0+r;11$0^dGjRnegoN2L9LSNQ2_T71hcBeJR$_i zYfbGMy;)$@2Z1h}sad2=jpw|T-HQh=3j;OdWe8cA&p`-uiCxe_*PhO_c^PxFDx{Gt zq>z_}HNO#UpZr;Cg1Y`o-O4q!9*p04eus6w$?i>mJp3dpM=H*2> z`}Y&}sSW<`(N)otRTHOm!dZ4qPhATgJ0*MXjiOX((br%*)wEgqS4wQq;8IcmUHH^T zppUr|m|`8)3GMj{uIokFhT6jq70^Q1zR%Y5#0Iek+Uv4cirzj1Y@8Waz<4z-dtSS)` zTX9-)LQR(&<0$vnq>Z~5jY*$zh4#c?q3U+zCNA>c2y=xsG+P(A*@Fz4k{q>}YAsqx zN#1mStqW1WPI;+Mj>vOK_&6hEj_0J)=ptqX(KnpL=)m#^s+_F^G~&sH%|4BF!!3WJ z@A%5w4e5AHcoTtk9@bFQW=NH{MKR8S;lI<&cHQhBDw|Ix{!g_7L%ZU9UIVfIixo_d+LVj!L1?jbhpzN2A z4i+1PMMv*Cu{Gv>!bqPwdA;g2CACc}#}gXX-do9VlM7uziYitKVC~37d!->c5Lz5#|&LLF=yeL-9JgXGZzLH zl4Mco&aAH-hJ2Jo(_wyRr&*;B z^9x3~j>TW75H%%79N==LGMXG>FR2$)UMPqfyr`^-g?Gv>4JPE+uvc&Yfk`TgBIK0g*`w|iHs`uVo3LE z$pSw&N}RbNVr=CunTCP7y28!}^(KJkU`*xbV5e5{rql*1UXb%{Z*Ao!k<_v(KHE|Z zJnxbQWt=rylGkX?3x#_89XKZG)6Fkm^lB?Aob?tEke+dQPNK9(Tv7|XUv9T`LM9@T z*E&x`_47I@G)>doRe=LMOy$YnBopB?8=23BF*1sDN|I%+4!vDzgY||N&%uQAC`sj< zjfjIa!nL5Y!VkV9r*4RCG>tC$^oA;mlHhuR+sX0PEb>ZQ27kH;z&t58XdqI{%9iXs zVLWmaQ6Po_Y6Ji#W|i?Up=~AC+BA6I)kD{*uC}2dAnpS9KGDP)!$ z777ZP^51GJ@{ihT3w;9%NA4&g(^lU! z7*<*C(*H_r`D{v_wmc0-DuROEiLRd%SRDJJ`1 z)y(z2Zn`)>yIE(Cx*ju)jMgjZVoT-L5!{5!TsXujh*bv*Ji@#8aAs|v-=)6wu#IcU zvaUMJ;L&XnJj>z#U!m($3pCh(7L;MAnE%RU#C-B~SB< zoTp3yr`qe7Pr8XjF3Ww4>8KZ13?73)?L!|V&DStwD2BO*?R!A7%6=MdtbjO0R^BL*b~@9ry$3WCae)iySqOtClUE%Kf#AhSzF_ffD$0z zBNo5r`zDhl=3?c!L5wiC8dGy2wKKaqfJu`$-QSl-3~z#f63boe^oqWyf-e<)XkN*n zP}N&n!e^*uwb=Kh0W)h7(SP4?!$`KJj@lu$H-}UP`mD4)R0=~TcAuUbQ_rgi!;T3ffCbkzf85cXBMly1SoFrra7^{Dw~8qtfeKF! zIYV*Uf;LvuQf~{eH0m66Rkm4=_XD2q6Y+^))EX1#e819d5Zc=oxn($NtvE)oaSB=P zfEjot+fJ=4W@vc~EEdZ0g|rc`4ZO7;+tpe>q8jl*ka7$)qXm*7k(1A%a0X%Ecmlj9 zGX}HcZ82{Mds=$a$J=Iic-UA3-mSYcfv(7t@u?~Z0jJM$_Mj!gmuhP&%8WMP1MJ`} z19oM#K$7ppQI%2pfn zxtLssmJt8Ie$lFqVeE32BJ0PzF)_iuHAzID$5SisI-B1`q(lBk^q{=Dav$95iN<`6GIYg~pD-5CLd3<&1<$|uj4RFaw3*GqGnzE5Y zmGJ5+h#cgzpMLVUno{6aAyJud!O_f?-Q-a`>3l9m#L>y~SimWQYfRkWBt!1f$Ad8_Mg_L#?R>c}Nonr>SZX>E74UI;~cP<^blb5d>8`)qsKqtK@-re-lkzHQk zc5;>szL>bWCr<2oM=2~zli$@ivvD?}^cjE>L5)OxO@CD{*iSc`s-lB=Oo zz764z81xl;RrK`>y7*hw(9TLU9sgkoJ>{iB<1- ztryNX@#)*B`ND=>-(|Y_Io`{Y;BC1VLsm6rwjuMg*BgQK%$Ki=8!Oi#v=ly053hMd z4pd*}VUuZr%e%JeRac!P_q!8XhpcppJd3I576zHiJD3}Bw>+C#k1uZbommZljd#tSf0ym^7WCJX+ir1&k1_|l2df|<3cR^_Sg+;lfIuSAM_ zB;MG3VkkaBEr3}%ej3_y;7eTO#NNXokNS3$%D0cH-##vVJMy5-NG&Kuxbo73#+T;c z7JY6NPuEcDIx!O0GwnTCxT6T#Qy#Fz)&lej*?fCM`Z*(6Jre5C{IP&PWBqeR^5>Sp ze=YBSH1L0%VnBeIrMaX1ADac>H_Sga2ONzI?V11g8u52tgun4}00M15h5%EW|4Tm* z5abB@+2z0Z5&xz?kUh}c-V_Y}zaJ^s!O+3+|KLaZn;tD~4b4r#%%YYKwuT_^zYOSzVC4StZ zAfw>p;-KNvViQthkiH=#XTYQ6q@|;$pyy;@WqQrd%gI2;!pzOh!pOnhqADq2}unp!(JTN}FA+d4S8Fsu2psQa;L2C!>?64d*^XBf(FmMCiMD{mVp zY!)RBh!nL>ma>hKwoB9o_^LaEXoCIp+(NY6V?}H-r5tml-KtbPa!s5=EIp$@;M6>Rp5|R?e?WrIiOQLxJxyp zUn{g*E4*JfYEU&DPaLZ+J!;Q98z4boJwH#E5MQU{VCUROkB@;texdO}(eZJizDW@Q zaq;ni3HdQ8Iq4b630Y%acClX2dlX#24h}ekrXht|-f|XsRyGZK}v^ zZEf|>8t^L^_bXZWR6H3_z7$&ZEv9DCr+WKC?Y>X_VQ9@-Sp8O5^O0}!gAIYZ~A;}>;< z8?`f6U8RX%Yx8nV2$YH6mc3M6u8AEpYHSipXtD?qD0D~*|`(;XpTa@Q4uTTQ-3ELD>ND>BVBgIX3L_)@n z?+uYS#vVB$u=}BM^@b&wfx!ZnnSzo@r#z4bEo`HuGaU<$Q;0gWPL9DP)>57J1@JWf zMfNp;R>&!O8#5a>o5}q5kH}{Hp8AI#N}oYTn|OW?E3~e9>+vKh1S8B?kERoWK6aQQ zhbcips|lAALjH&P@}LK&a@O;9ax#E#W{Iwm9*U2o4dcvN@zB7bSO*L zJCy3f2~mjiaany#Q{oo z(n^*ul{DhY2I!RwYYSw~WkSwn5|UcJGLh?R#_1O^Ff7-&Gpn?5JvD?%i}!PeB;rcR zZ^B`f-UfnjB~wDbU5bfp=K^RN-l(uP*f}dHC==f<-Ry}ul$?xxplmp6$}AYSIKd_i zzf@r7)|}nC6frf?A5kRIrK&lwWl2hqaSX96k6fs7J2iciIAvv=H#-Uf>X>GA-L{IU zhBxubT!0UsdW4lBLV(3H)GEr`>adD7xhI_DylUn$;yHasBiHNut&^05F}X>sUPe-D zl(v|@+J}uN3YPn}Snl(it{!}+vZR;bmT^P(Dx>f5tT0%i0h&vbVHlq)`tV(Ra<$`0 zi%T=Yb9H#8-1E(yt~E?Ti48!(hRs~~a2Ig)Fn&mXIrigO^B>i?v{FcGKF*e@j60C< zENsacP2uXbS-ET!0_oZ_sne*C1)_~H;Zh*SYNJstNV=0s*3#`^18qR6uYll3t*k!L)? zhI@$Uk4MCk1kfFDLTbWxsy&pO&NPG@g)gdCLKNqtJ5}}1q92K1 z;uwN8N2f(%b;Xse3tEcmuo~>`Ichky^`bI|RO0%;vQ%H)~ovLUWir>;XvYlc|heF&FXNlSIxqIt`Y&Q?`JGi=_c%Z6=%X zJqNjDref>J*?!~^+7T1oZ{I3QnaYks*AEBNfdIGL^Jcb?wwZqInfQj26uY(D`PI}p zFejg_vj*`{Qmxh=(Sy^1QOWN4rEI?iX<;A4xm!SNAdh;ap7fXrxufwzm***JjQN&aAl35GNn?+KPIgafkpdWk zE=|M9pXBiUT6+EZLCEDQ$YF15*WdZJH}3e8JbqB9UXNE*QOu?eAj18Q0QO-KyVZ1^ zacx|vg=W#Y9e7olm@a1>_VC(H=42R)4y!fPRxZsVb%yEilTq9J5FOk-8Rq?vYTL)$ zvQLi!=h1Y5u=H%!b2}a(%lrg+goCk%Lhd#ayhk4=tJhK}?W^lN89 zDDUkzrc2ja>#1+Wao@TgnzsXy4d`boxnG^eWgS+Q^>@xPto z5V`gDw2L?XOnrR6Ls1f}g1Uh&Yp!<7^-e%>i?uuj%*}nH}2w=*Wt_cUn9RoIES&2E^$gexZE{fH1_sOQNY9D9OQfFXij?U zPZgvNC!NgHS|qXOjm)wi*_eeaG$tkWB*m4;X=~SV&ZO8*aRO||b%q3lJbd*>eU@1) zs$sQCMDx^Wt3QVLLYpa}1giHkAenJBfy>*mb(6JHXBuc7%#&LL^QZPXYkWMRhfG)q zQ-RS1a!226+3WSK!Z{Wv)OrPR&ED9pR+P(|C!`jotz9Z6B-&OrZ35<9wLwP}EGO{z z1|Ocm{lC4~ov=N^qrNlo=F?Ua{xLO%l9rGcFBLWL{b#!E=M)?4;A&&~2idlytq)$T z$M8PMTixB}J%Z^LiZYT7^PHrPZm6|eC^)&>_mNT*6~!ceQF-VQEO>Q)8SQ{aCZ$Mj zIuLo3a$*+sq6x~$droMM>hdbDiNO(2Kua*n{I+9`l!rasWe76ey*sNfSih5%&g6X^ zM}zojmwbDiI;+7!)-`=%!l&Q0VeIRt@wc1E@-pg7_EF>Zud-m7EdbPvHpd?qWWw{i z1LWTiUD-&VY>xH!EhfpvbvdgKT^(vf9R0XQPFR@45_Ev*CN?5EQ>5XDSCY^jE5~^^ z;Fshu;HK3r0eTnv6F$Y_4efvxl&pQSlFH_SRPDMWB~?O_WA#|j_`8yoqyq*5n`@w3s%^Qzp@kxG*1EpLwDn@L*#HM6U$G zMyqNZj*DCcWh;eok2VU!w6?>b#V>#9pLH{5ASvcJy~0QApEuZzbRJcO^<61i8^Wqy z6`lD&+2zM{h&l7hn6au_$b@XVyi}anxzd*#3%wJbyUcxX_bO0{o`{&!|Mv5%{IR<+ z>~53ZWj`$F6|uAh&kpt^@mK1OuVrtj!!LO(p!Re{V8t+{r>iBbVehMzAA_ihzMGef z$smR1QY%lrc4X>mNRDM1>=1FOC^xJ7qOK`#GJEy_VMe!PG7}HFofe#tAS2dIDozLW z-5>_%6HU@GGOz4g=%Vx85qxaM_cVEN7YiBT=xi7x zBD`I~85Xeyd33Nv)o~+HQy_%ZiL;mzErZ4l`b{Ei`fi9jTk_KT+qeQ*t6boMRF~tU z%vLC)R~gh7c}S&_n4~Xq^lLqr%_GnJGOFR(KV8INdTd%#r(R#gZJNM>?}n`c&oobO zzf#TiLXLsn&ZR4tGIfJ4Z}ys7S(L*LwALYv0SDbl?H-a3DuYjKXzjzd)E7YC$lR~R z49fN=wLHXPrTf8{JuHU#6+wB#fNY_ZQF5U~t^=tkmR5D2B&f(PGxXa@*2(ha|NX}IY1(y$KCE*~bi z0%_e8tiiM2x7&w=SVZ#Gh~VZ)2r0)JcwKFzxmcAu#UxOhM5{{_vn~(dsrzDE|at(l{7j~a%`n=58Q$$pDrla+-!q_wq z%G+vS2&dB{u4sN=T%T+OLrKYK8HS+K1;wKmv%Bz6IeSR^JxwM#s!){UDnn^0D|bs+)=Wn2eU9E1}MJ#smF(Bi0D&k^mxbCKjK45jld0N7(AlJL?{2gdG0_C?RMNnET~c6O+XR-oJIGT43o`m~!5eG01rW4Q zQIo$UIl+pX?c(J(4ZEI+Tm_j_HCqiD;aIVZ@Ne4i()yVxf@ZOL<$|onDMIQ@jmH?_ zSiZwdMlNs==(dyq^Ump!c%h%2fM<2e%ZQoJR@-b~10b#{GI8JDhwknjBfa_5lxtHH zcNu3e3L9L(vE%!s2BqmI%S5H#^2m)~&Q~2ntz1wm`@#)bY&@`*x}tDMlQ@e)(~pVr zC`#s9Uha&B4~%l#8mNNA#>D;|Ff6gnz%;cgG zvw*xlG) zS}&TU^At4Eg@q6xWrzlzA+B^V)2uI0-MY?7WnTM`t^eLAFfVT~vk|&!8{)t$@AQtI zyX=n6ZOCG#XBs=$oe;P>=YLE#pOCOsJFS^~`T8jfv(OqZ|ht1FH~-SeMctAvC6AuwP7$bsdhf?O`==?6fG}du=>E z^=y}Jt(g29BmI1(SM=00Jl`Cwdj|X!!tg5^!}K#tRqsAdhfx*R0fX_UOz~cM=8$mj z9pb02HK)LcLIQDbHr{G|v^`T|ov!`{zbcZ1kf&N2flTu~s51*=vht{$Ot5pk*%dOjcHAs-v7hRMDOlvaYce%`j z_yPD32e+74Su!26yHodH24@Qn6DPMp%oBK#nY|bJ}H@Qysw9F$YmDtn0 z_03tn_FpnJ$@$rhO>*WVlI+~qkN5~)^egq7$Vq>nc>h^s?7fA2mmqhS0r%Tpo`8;B z3DN06pD93E0-!f4@9b<$KuO~kkeTdsk(%(FCcG7AJT%IlBCSjR`qN2t%$)8@w!_H5 zZB#d}HrB+e44^%A(VfRG!AD)z_Ql({Dz~o+nx~Rzk=6)sJ2;M+rGBEdjxtZp5J?h# z_;+PAa)&4f&#@h-$=C|7iasFwo!J1wli?g)IMa$Ay{WPcpiuCNZwoLV1;t*N8Jk#6 z05jg(Rp8MUk%l$Y3x|CYs5ke&nZJ}-JwY$r(6YxcHuEUQzi~=)Z&*j`*1!m`1FUIsv~%QJs%MYDvjsQ4ffwj=x~0_@8l#@ zMHr>!-!j`80xZo;!GDndB`UI3T`Vt_cCg>N%i5|-eC_`-hLsJkxE0Ap7UnP5(co!| zMZ-k(Ld=P6XxDQ)b1BogmRIcEZh_&+_b@f#g*qwSuGVnGFNDiV zjWwwBk=gGNqbaw@`ipbWg-d3;pPAk|>&w5Z1H3XAEFGH>6WZvJ9}(`svr>CmTP8jR zAH@ARCUzNriVP0{Ytl<)i4nhA5&huI9?u}8#!>Nhisejk_5oq+OW`?{aF;3q?j@yE zO2O77>dgf2$rmJ=so-D^USgAOcnWlv^HsUf4YdqJ`sF!W*TO4N~ee@F(}lf4>j8*Z)al z=6aH2 z)KA{#ms$P><*zKx{}dr^ z-shLe{s!m2u|WR}_V=U({RZq8EA&4_Y5fh#FP7+^QT`t4i{GI9oi+M9(tq+sze2=> z`OhrUpI_)de|dkcm_OIOzpR?%udCqy^!sZK_*qYXSq#lTR98h=Sh$~$z4&p^|IoYM I(f+*qU)a2I{{R30 literal 0 HcmV?d00001 diff --git a/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.png b/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanager-parent.png new file mode 100644 index 0000000000000000000000000000000000000000..af3d415ff9a6ff5f381b03d592f9ecb2d51dc079 GIT binary patch literal 23695 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

70(SS>NQ4~nU0w2(7`Mh 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 literal 0 HcmV?d00001 diff --git a/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.odg b/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.odg new file mode 100644 index 0000000000000000000000000000000000000000..df298aec5b68e8517c6376af130e709ad5d77ff8 GIT binary patch literal 12809 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 literal 0 HcmV?d00001 diff --git a/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.png b/docs/manual/src/docs/asciidoc/images/servlet/authentication/architecture/providermanagers-parent.png new file mode 100644 index 0000000000000000000000000000000000000000..c29c69ac205179c83ecb36d4b7692a73749560bd GIT binary patch literal 35162 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 af>7wYv-L(57BIhn|9*( literal 0 HcmV?d00001