2017-07-19 2 views
0

Ich verwende WSO2-Produkte, IS und API-Gateway. Mein Anwendungsfall ist: Ich habe einen ReadOnly LDAP-Benutzerspeicher, der einige Attribute wie Name, Nachname, E-Mail usw. hat. Natürlich kann ich in LDAP Read Only keine neue Benutzereigenschaft hinzufügen, zum Beispiel möchte ich ein Attribut hinzufügen (claime) mit dem Namen "Profil". Ich habe eine Dokumentation gefunden, aber ich verstehe nicht, wie ich das machen soll. (https://docs.wso2.com/display/IS510/Writing+a+Custom+User+Store+Manage).Erweitert LDAP Read Only WSO2

Wenn ich gut verstehe, muss ich einen neuen Benutzerspeicher (wie MYSQL DB) erstellen, wo ich die LDAP-Benutzer zuordnen kann und ich kann auch benutzerdefinierte Attribute hinzufügen. Das ist der richtige Weg?

Und eine andere Frage ist: Wenn die obige Betrachtung richtig ist, Wie kann ich die Bereitstellung des 2 User Store tun?

Antwort

0

Eine Möglichkeit, dies ohne Code zu tun, ist wie folgt.

  1. Erstellen Sie einen neuen Anspruch in WSO2 nach Ihren Wünschen, z. "Profil".

  2. Ordnen Sie diesen Anspruch einem vorhandenen nicht verwendeten Attribut Ihres ReadOnly LDAP zu. z.B. Karte Profil zu FAX oder Straße Addres usw.

  3. Ändern Konfiguration Ihrer Service-Provider und sendet diesen neuen Anspruch in Authentifizierungs-Antwort auf Ihren Diensteanbieter.

  4. Jetzt können Sie dieses LDAP-Attribut mit dem von Ihnen gewünschten Wert aktualisieren, und der Dienstanbieter erhält dies als Anspruch namens "Profil".

+0

Vielen Dank für Ihre Antwort. Ist das ein Workaround? Wie auch immer, ich habe keinen Service Provider, aber ich habe einen primären LDAP Read Only und eine Liste von anderen User Stores. –

+0

Ja, es war ein Workaround. Sie müssen keinen Benutzerspeicher erstellen, um benutzerdefinierte Ansprüche zu erhalten. Eine andere Lösung ist, dass Sie einen benutzerdefinierten Cliam-Handler mit Ihrer eigenen Logik erstellen können, um Ansprüche von jeder externen Quelle zu erhalten (wie MySQL oder einen beliebigen Dienst aufrufen usw.). – Agam