Ich habe Spring Security für die Authentifizierung gegen LDAP-Server konfiguriert.Spring LdapAuthentication und Laden von Rollen aus der lokalen Datenbank
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
</security:authentication-manager>
Nach der Authentifizierung möchte ich Rollen aus der lokalen Datenbank für den gleichen Benutzer laden. Wie kann ich lokale Datenbankrollen mit "ldap-authentication-provider" laden?
Wenn ich die zweiten Authentifizierungsanbieter hinzufügen, wie unten:
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
<security:authentication-provider ref="daoAuthenticationProvider" />
</security:authentication-manager>
daoAuthenticationProvider
hinzugefügt, aber Frühling verwendet nicht den zweiten Anbieter, wenn die erste Authentifizierungsanbieter den Benutzer authentifiziert. Nur wenn der erste Authentifizierungsanbieter sich nicht authentifizieren kann, geht er als nächstes in die Liste.
aussehen Also im Grunde wie wir
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
laden Roles von der lokalen Datenbank anpassen müssen.
Irgendwelche Vorschläge? Wie sollte dies umgesetzt werden?
Das ist absolut was ich gesucht habe. – user2072797
Gibt es eine Möglichkeit, userId dem Benutzer hinzuzufügen. map empID von ldap zum userId-Attribut in User-Objekt. – user2072797
Diese Frage scheint nicht mit der ursprünglichen verwandt zu sein. Es ist wahrscheinlich besser, wenn du es neu formulierst und als neue Frage postest, weil im Moment nur ich es (praktisch) sehen kann, während andere Benutzer dir bessere Antworten geben können. Wie auch immer, die Zuordnung von Benutzerattributen von LDAP zu DB ist absolut möglich, aber das ist nichts, was Sie mit Spring Security tun könnten (könnten). – zagyi