Ich habe eine Wso2 ist 5.1.0 Server runign auf Debian. Ich habe ein einfaches Servlet, das mit Oauth2 authentifiziert und perfekt mit den Benutzern im primären Speicher funktioniert.Wso2 ist Second-User-Shop-Authentifizierung
Ich habe einen sekundären Speicher erstellt, der auf einen Openldap-Server verweist. Ich habe einige Benutzer und Gruppen und werde vom IS korrekt gesehen. Ich sehe, dass, wenn ich versuche, das Benutzerprofil zu sehen, ich die folgende Fehlermeldung erhalten:
Error while loading user profile metadata
Aber wenn ich versuche, mit den Benutzern im LDAP-Server zu authentifizieren ich einen Fehler bei der Anmeldung Fehler. Ich habe versucht, sowohl Benutzername, DOMAIN/Benutzername und Benutzername @ DOMAIN zu verwenden, aber keiner der funktioniert.
Ich beginne zu denken, dass es mit der Calim-Konfiguration in Verbindung stehen könnte, da die Benutzer in den verschiedenen Geschäften unterschiedliche Werte haben, aber ich weiß nicht, wie man es löst.
Irgendwelche Ideen, was ich falsch mache?
AKTUALISIERT:
Dies ist, wie ich den sekundären Speicher definiert haben.
<?xml version="1.0" encoding="UTF-8"?><UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager">
<Property name="ConnectionURL">ldap://xxxx:389</Property>
<Property name="ConnectionName">cn=admin,dc=xx,dc=xx</Property>
<Property encrypted="true" name="ConnectionPassword">xxxx</Property>
<Property name="UserSearchBase">ou=users,dc=nextel,dc=es</Property>
<Property name="UserEntryObjectClass">inetOrgPerson</Property>
<Property name="UserNameAttribute">cn</Property>
<Property name="UserNameSearchFilter">(&(objectClass=person)cn=?))</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">ou=groups,dc=xx,dc=xx</Property>
<Property name="GroupEntryObjectClass">groupOfNames</Property>
<Property name="GroupNameAttribute">cn</Property>
<Property name="GroupNameSearchFilter">(&(objectClass=groupOfNames)(cn=?))</Property>
<Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
<Property name="RoleDNPattern"/>
<Property name="MembershipAttribute">member</Property>
<Property name="MemberOfAttribute"/>
<Property name="BackLinksEnabled">false</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="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="ReadTimeout">5000</Property>
<Property name="LDAPConnectionTimeout">5000</Property>
<Property name="RetryAttempts">0</Property>
<Property name="DomainName">incloudLDAP</Property>
<Property name="Description"/>
</UserStoreManager>
kann ich die Benutzer in der Liste sehen und sogar einen neuen auf dem LDAP durch WSO2 I erstellen, aber ich kann die Parameter nicht sehen.
die Struktur Benutzer im LDAP ganz einfach:
AKTUALISIERT.
Wie ich UserNameSearchFilter richtig verstehen (siehe Update) definiert ist. Ich verstehe nicht wirklich, wie die Ansprüche funktionieren. – jordi
ok. Nehmen wir an, Sie haben zwei Benutzerspeicher als FOO und BAR. Beide Benutzer speichern den Vornamen des Benutzers, jedoch in verschiedenen Attributen. FOO behält den Vornamen in 'fn' und BAR behält es in 'bfn'. Dann müssen wir dem Identity Server sagen, wenn du den Vornamen von FOO bekommst, benutz 'fn' und wenn du es von BAR bekommst benutze 'bfn'. So können wir diese Aussage im zugeordneten Attributabschnitt als FOO/fn; BAR/bfn – Thanuja
ausdrücken. Sie können auch einen Testbenutzer aus einem ldap-Viewer (wie Apache Directory Studio) durchsuchen und einen Screenshot der Benutzerattribute bereitstellen. – Thanuja