In meiner Anwendung verwende ich LDAP-Authentifizierung. Aber ich habe auch 2 Remote-Dienste, die Authentifizierung über Methodenanmeldung (Benutzername, Passwort) erfordert. Die Methode gibt ein Sicherheitstoken zurück, das es mir ermöglicht, andere Methoden aufzurufen, d. H. Ich sollte das Sicherheitstoken als erstes Argument an Dienstmethoden übergeben.
Also möchte ich diese Sicherheitstoken sofort nach erfolgreicher Anmeldung mit LDAP erhalten und sie in SecurityContext speichern. Ich habe versucht, Authentifizierung-success-handler-ref von Formular-Login Element zu verwenden. Mit dem Handler ersetze ich Authentifizierung Objekt im SecurityContext mit benutzerdefinierten AuthenticationToken, die nicht nur Passwort, sondern auch Sicherheitstoken enthält. Aber in diesem Fall habe ich eine Ausnahme, dass kein Authentifizierungsanbieter diese Klasse von Token unterstützt. Ich weiß, dass es auch möglich ist, Tokens in der HTTP-Sitzung zu speichern, aber in diesem Fall muss ich ein Session-to-Service-Objekt übergeben, daher möchte ich die Tokens in SecurityContext speichern.Wie Sie benutzerdefinierte Informationen in SecurityContext von Spring-Security speichern?
Was ist der beste Ansatz, um Service Security Token zu behandeln?
Ich bin nicht sicher, ob ich userDetailsSerivce mit LDAP-Authentifizierung verwenden kann. – viator
Sie müssen nicht den gesamten UserDetailsService implementieren. Sie können nur Ihre eigene Implementierung von UserDetails mit LDAP verwenden. Hier finden Sie Informationen dazu - http://static.springsource.org/spring-security/site/docs/3.1.x/reference/ldap.html#ldap-custom-user-details – Gopi