Verwenden Sie je nach Benutzername und Remote-IP-Adresse unterschiedliche AuthenticationProvider
In einer Spring Security 3.2-basierten Anwendung muss ich Benutzer anhand eines bestimmten Musters in ihrem Benutzernamen UND ihrer Remote-IP-Adresse bei zwei verschiedenen Anbietern authentifizieren.
Wenn sie mit bestimmten Regeln übereinstimmen, sollten sie gegen einen authentifiziert werdenActiveDirectoryLdapAuthenticationProvider
, sonst mit einem standardAuthenticationProvider
mit einer bereits vorhandenen benutzerdefinierten Implementierung vonUserDetailsService
.
Was muss ich verlängern?AuthenticationManager
oderAuthenticationProvider
? Jeder Beispielcode wäre sehr dankbar :-)
Hinweis: Ich habe bereits erfolgreich versucht, zwei hinzuzufügen<authentication-provider />
Knoten in<authentication-manager />
, und das hat gut funktioniert. Es stört mich aber, dass mein Ldap-Server bei jedem Authentifizierungsversuch getroffen wird (auch bei denjenigen, die nicht dafür vorgesehen sind)