Ich versuche WSO2 Identity Server 5.0.0 mit Active Directory als primären Benutzerspeicher aufzustehen. Ich verfüge über Konnektivität, LDAPS, Arbeitsdatenbank usw. und kann mich als Administrator, den ich gewählt habe, bei der Admin-Konsole anmelden und kann erfolgreich nach AD-Benutzern suchen und Rollen sehen.WSO2 Identity Server mit Active Directory konfigurieren?
Wenn ich jedoch versuche, die Details eines Benutzers anzuzeigen oder ihr Kennwort zu ändern, erhalte ich Fehler. Wenn zum Beispiel Passwort zu ändern versuchen, sehe ich in den Protokollen:
TID: [0] [IS] [2016-04-15 16:14:15,135] ERROR
{org.wso2.carbon.user.mgt.ui.UserAdminClient} - User testuser does
not exisit in the user store
{org.wso2.carbon.user.mgt.ui.UserAdminClient}
org.wso2.carbon.user.mgt.stub.UserAdminUserAdminException:
UserAdminUserAdminException
aber ich habe diesen Benutzer nachgeschlagen und klickte auf das „Passwort ändern“ -Link in der resultierenden Anzeige, so konnte sie zumindest finden dieser Benutzer bei der Suche.
Ich vermute, dass die AD-Rollen des Benutzers, den ich für die LDAP-Verbindung konfiguriert habe, nicht ausreichen, um diese Aufgaben durchzuführen, bin aber unsicher. Bin ich auf dem richtigen Weg, und wenn ja, was sind die Voraussetzungen für diesen Benutzer? Oder gibt es noch etwas anderes zur Fehlerbehebung im Zusammenhang mit diesen Fehlern?
UPDATE 4/18/2016: OK, als ich das in einer Antwort vorgeschlagene Debugging (log4j.logger.org.wso2.carbon.user.core = DEBUG) hinzufügte, bemerkte ich, dass das Tool nach dem Benutzer suchte von CN und finden es nicht:
TID: [0] [IS] [2016-04-18 10:19:42,394] DEBUG {org.wso2.carbon.identity.mgt.IdentityMgtEventListener} - Pre update credential by admin is called in IdentityMgtEventListener {org.wso2.carbon.identity.mgt.IdentityMgtEventListener}
TID: [0] [IS] [2016-04-18 10:19:42,394] DEBUG {org.wso2.carbon.identity.mgt.IdentityMgtEventListener} - Updating credentials of user astudent16 by admin with a non-empty password {org.wso2.carbon.identity.mgt.IdentityMgtEventListener}
TID: [0] [IS] [2016-04-18 10:19:42,394] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Searching for user astudent16 {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:19:42,409] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Searching for user with SearchFilter: (&(objectClass=user)(cn=astudent16)) in SearchBase: {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:19:42,472] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Name in space for astudent16 is null {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:19:42,472] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - User: astudent16 exist: false {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:19:42,487] ERROR {org.wso2.carbon.user.mgt.ui.UserAdminClient} - User astudent16 does not exisit in the user store {org.wso2.carbon.user.mgt.ui.UserAdminClient}
org.wso2.carbon.user.mgt.stub.UserAdminUserAdminException: UserAdminUserAdminException
ich zurück zur Dokumentation bezeichnet, und der Verkäufer Dokumentation schlägt vor, dass für Active Directory, die UserNameAttribute in benutzer mgt.xml auf CN gesetzt werden - wir hatten diesen Satz zu sAMAccountName.
So wechselten wir zu CN, und jetzt der Fehler ist anders:
TID: [0] [IS] [2016-04-18 10:30:46,338] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Searching for user A Student16 {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:30:46,354] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Searching for user with SearchFilter: (&(objectClass=user)(cn=A Student16)) in SearchBase: {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:30:46,354] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - Name in space for A Student16 is CN=A Student16,OU=2016,OU=Students,OU=Accounts,DC=some,DC=org {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:30:46,354] DEBUG {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager} - User: A Student16 exist: true {org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager}
TID: [0] [IS] [2016-04-18 10:30:46,463] DEBUG {org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager} - value after escaping special characters in A Student16 : A Student16 {org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager}
TID: [0] [IS] [2016-04-18 10:30:46,463] DEBUG {org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager} - Can not access the directory service for user : A Student16 {org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager}
javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of:
'DC=some,DC=org'
]; remaining name 'CN=A Student16'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3112)
Können Sie Repository/logs/wso2carbon.log überprüfen und sehen, ob es weitere Details zu diesem Fehler gibt?Warum versuchen Sie auch nicht, IS Service Pack 1 auf Ihr Setup anzuwenden und überprüfen Sie dies? Viele Probleme, die in IS 5.0.0 verfügbar waren, wurden in SP1 behoben. –
Ich verwende eine gepackte Version des IS von einem Hersteller, so dass ich bei Version 5.0.0 feststecke. Die gepackte Version stammt von einem Anbieter von höherwertigen ERP-Produkten von Ellucian: http://www.ellucian.com/Software/Ellucian-Identity-Service/ – jcwhit1
Erhalten Sie den neuesten Fehler, wenn Sie versuchen, Informationen eines Benutzers abzurufen, den Sie erstellt haben, bevor Sie die Datei ändern Benutzer-mg.xml? –