Ich habe eine Anwendung, die einen LDAP-Server verwendet, um zu authentifizieren. Es funktioniert gut. Aber, es gibt ein Problem: In diesem LDAP-Server habe ich nicht die Benutzerrollen. Ich habe sie in einem anderen Server, in einer Datenbank meine Anwendung zugreifen. Und ich muss die Benutzerrollen von nun an der Anwendung hinzufügen.Holen Sie Benutzer und Rollen von verschiedenen Servern bei Spring Security
Ich würde gerne wissen, wie diese Rollen zu bekommen und sie an die AuthenticationManagerBuilder-Authentifizierung bei ConfigGlobal-Methode hinzufügen. Ist es möglich?
Einige Informationen:
Meine configureGlobal Methode ist:
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.ldapAuthentication().userSearchFilter("uid={0}").contextSource().url(host);
}
Ich bin mit Hibernate 4.3.8 und Spring Security 4.1.1.
Die Tabelle mit den Rollen wurde wie folgt erstellt:
create table UserGroup (
user varchar2(250),
role varchar2(250)
);
Und die Aufzeichnungen sind so etwas wie folgt aus:
[user1, role1]
[user1, role2]
[Benutzer1, Rolle3]
[Benutzer1, Rolle4]
[user2, role1]
[user2, role2]
Wie Sie sehen können, kann der gleiche Benutzer mehr als eine Rolle spielen. Dieselbe Rolle kann vielen Benutzern zugewiesen werden. Ich weiß, dass es Normalisierung braucht, aber ich denke, das ist zu diesem Zeitpunkt nicht wichtig.
Haben Sie einen Code zum Anzeigen? – Paulo