java - Provider order using AuthenticationManagerBuilder -


i'm using spring security 4.0.1 , want use multiple authentication providers authentication using java-based configuration. how specify provider order?

i hoping use authenticationmanagerbuilder, since that's websecurityconfigureradapter.configureglobal() exposes, don't see way specify order. need create providermanager manually?

update: here's problem clarification based on arun's answer. specific providers want use activedirectoryldapauthenticationprovider , daoauthenticationprovider custom userservice.

ultimately i'd authenticate against daoauthenticationprovider first , activedirectoryldapauthenticationprovider second.

the ad provider involves call authenticationmanagerbuilder.authenticationprovider() dao provider involves calling authenticationmanagerbuilder.userservice(), creates daoauthenticationprovider around user service behind scenes. looking @ source code, doesn't directly place provider in provider list (it creates configurer), arun's answer isn't working me here.

i tried creating daoauthenticationprovider manually , passing authenticationprovider(). didn't impact order.

there no explicit ordering provision. order of invocation order in have provided authenticationproviderto authenticationmanagerbuilder.authenticationprovider(). refer here xml configuration. same should apply java config well.

for eg

auth.authenticationprovider(getauthenticationprovider2()); auth.authenticationprovider(getauthenticationprovider1()); 

will result in following order of invocation authenticationprovider2,authenticationprovider1

and

 auth.authenticationprovider(getauthenticationprovider1());  auth.authenticationprovider(getauthenticationprovider2()); 

will result in following order of invocation authenticationprovider1,authenticationprovider2


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -