2017-12-24 3 views
0

wir versuchen, Active Directory als Sekundärspeicher zu verbinden, abgerufen wir die Daten von AD erfolgreich, aber wenn wir versuchen, Benutzer Info von Benutzerprofil zu aktualisieren, erhalten wir die folgende Nachricht:WSO2 Update Benutzer in AD

enter image description here

wenn wir uns einzuloggen wir das follwing Problem gefunden:

javax.naming.directory.NoSuchAttributeException: [LDAP: Codefehler 16-00000057: LdapErr: DSID-0C090EC7, Kommentar: Fehler im Betrieb Attributumwandlung, Daten 0, v3839]; Rest name 'CN = mhejazi'

die secondry store config:

<?xml version="1.0" encoding="UTF-8"?><UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager"> 
    <Property name="ConnectionURL">ldap://10.3.5.33:389</Property> 
    <Property name="ConnectionName">CN=mhejazi,CN=Users,DC=devdc,DC=sure,DC=Com,DC=sa</Property> 
    <Property encrypted="true" name="ConnectionPassword">kuv2MubUUveMyv6GeHrXr9il59ajJIqUI4eoYHcgGKf/BBFOWn96NTjJQI+wYbWjKW6r79S7L7ZzgYeWx7DlGbff5X3pBN2Gh9yV0BHP1E93QtFqR7uTWi141Tr7V7ZwScwNqJbiNoV+vyLbsqKJE7T3nP8Ih9Y6omygbcLcHzg=</Property> 
    <Property name="UserSearchBase">CN=Users,DC=devdc,DC=sure,DC=com,DC=sa</Property> 
    <Property name="UserEntryObjectClass">user</Property> 
    <Property name="UserNameAttribute">sAMAccountName</Property> 
    <Property name="UserNameSearchFilter">(&amp;(objectClass=user)(sAMAccountName=?))</Property> 
    <Property name="UserNameListFilter">(objectClass=person)</Property> 
    <Property name="UserDNPattern"/> 
    <Property name="DisplayNameAttribute"/> 
    <Property name="Disabled">false</Property> 
    <Property name="ReadGroups">true</Property> 
    <Property name="WriteGroups">true</Property> 
    <Property name="GroupSearchBase">CN=Users,DC=devdc,DC=sure,DC=com,DC=sa</Property> 
    <Property name="GroupEntryObjectClass">group</Property> 
    <Property name="GroupNameAttribute">cn</Property> 
    <Property name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property> 
    <Property name="GroupNameListFilter">(objectcategory=group)</Property> 
    <Property name="RoleDNPattern"/> 
    <Property name="MembershipAttribute">member</Property> 
    <Property name="MemberOfAttribute">memberOf</Property> 
    <Property name="BackLinksEnabled">true</Property> 
    <Property name="Referral">follow</Property> 
    <Property name="UserNameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
    <Property name="UserNameJavaScriptRegEx">^[\S]{3,30}$</Property> 
    <Property name="UsernameJavaRegExViolationErrorMsg">Username pattern policy violated.</Property> 
    <Property name="PasswordJavaRegEx">^[\S]{5,30}$</Property> 
    <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property> 
    <Property name="PasswordJavaRegExViolationErrorMsg">Password pattern policy violated.</Property> 
    <Property name="RoleNameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
    <Property name="RoleNameJavaScriptRegEx">^[\S]{3,30}$</Property> 
    <Property name="SCIMEnabled">false</Property> 
    <Property name="BulkImportSupported">true</Property> 
    <Property name="EmptyRolesAllowed">true</Property> 
    <Property name="PasswordHashMethod">PLAIN_TEXT</Property> 
    <Property name="MultiAttributeSeparator">,</Property> 
    <Property name="isADLDSRole">false</Property> 
    <Property name="userAccountControl">512</Property> 
    <Property name="MaxUserNameListLength">100</Property> 
    <Property name="MaxRoleNameListLength">100</Property> 
    <Property name="kdcEnabled">false</Property> 
    <Property name="defaultRealmName">WSO2.ORG</Property> 
    <Property name="UserRolesCacheEnabled">true</Property> 
    <Property name="ConnectionPoolingEnabled">false</Property> 
    <Property name="LDAPConnectionTimeout">5000</Property> 
    <Property name="ReadTimeout">5000</Property> 
    <Property name="RetryAttempts">0</Property> 
    <Property name="CountRetrieverClass"/> 
    <Property name="java.naming.ldap.attributes.binary"/> 
    <Property name="DomainName">devdc.sure.com.sa</Property> 
    <Property name="Description">Sue Dev&#13; 
     </Property> 

Antwort

0
javax.naming.directory.NoSuchAttributeException: [LDAP: error code 16 - 00000057: LdapErr: DSID-0C090D50, comment: Error in attribute conversion operation, data 0, v3839 

Dieser Fehler tritt auf, wenn der Anspruch Zuordnung nicht richtig gegen die AD konfiguriert ist Attribute über Claim Management UI .

Sie müssen sicherstellen, dass alle zugeordneten Attribute in Active Directory gültig und vorhanden sind. Verschiedene Benutzerspeicher verwenden unterschiedliche Attribute. In [2] finden Sie einen Verweis auf die Menge der vom Active Directory unterstützten Attribute. Die standardmäßigen WSO2-Ansprüche sind einigen generischen Attributen zugeordnet, wobei der Vorname dem Spitznamenattribut zugeordnet ist, das aktive Verzeichnis jedoch kein Kurznamenattribut. Der vollständige Name wird dem cn-Attribut zugeordnet, im aktiven Verzeichnis hat cn andere semantische Bedeutungen.

Entsprechend müssen Sie in Ihrer Fallkonfiguration sicherstellen, dass alle dort definierten Attribute von Active Directory unterstützt werden. Wenn es nicht unterstützt wird, können Sie ein zusätzliches zugeordnetes Attribut in der Fallkonfiguration für den lokalen Anspruch hinzufügen, der von AD unterstützt wird. Beispielkonfiguration ist wie folgt. enter image description here

Siehe [3] für weitere Informationen zu diesem Thema.

[1] https://wiki.servicenow.com/index.php?title=LDAP_Error_Codes

[2] http://www.kouti.com/tables/userattributes.htm

[3] https://docs.wso2.com/display/IS540/Managing+User+Attributes

+0

Lieber haben wir Mapping aber wir bekommen dieses Problem ** Fehler beim Profil von DEVDC.SURE.COM.SA Aktualisierung/mhejazi. Fehler ist: Ein oder mehrere Attributwerte sind für den Benutzer inkompatibel: mhejaziBitte überprüfen Sie und versuchen Sie es erneut. ** wir denken, das Problem von der LastDateModifed, weil es in Form in diesem Format angezeigt wird: "20171221143408.0Z" und wenn ich das Formular absende Wir erhalten den Wert inkompatibel – AHMAD

+0

@AHMAD gibt es eine kleine (optionale) Konfiguration für user-mgt.xml, wo die Konvertierung für LDAP (wie Guid, Zeitstempel) definiert werden könnte. Ich werde versuchen, es zu finden, wenn ich Zugang dazu bekomme – gusto2