2013-09-24 57 views
0

我想將用戶添加到後端AD。 但是,如果我指定了密碼,我總是會得到'密碼不符合系統要求。請再試一次。' (我可以添加用戶到廣告服務器上的相同密碼的廣告)如何將新用戶添加到WSO2 Indentity Server 4.5中的外部用戶庫(AD)?

然後我試着'詢問用戶的密碼'並且沒有指定密碼。創建工具包含以下消息:

無法添加用戶test.com/testadd。錯誤是:憑據無效。憑證必須是以下格式的非空字符串,空值

雖然我確定將廣告證書添加到所有可以找到的密鑰庫中。

那麼接下來我可以做什麼?

這裏是我的用戶mgt.xml

<UserManager> 
<Realm> 
    <Configuration> 
    <AddAdmin>true</AddAdmin> 
      <AdminRole>admin</AdminRole> 
      <AdminUser> 
       <UserName>admin</UserName> 
       <Password>admin</Password> 
      </AdminUser> 
     <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role sees the registry root --> 
     <Property name="dataSource">jdbc/WSO2CarbonDB</Property> 
    </Configuration> 

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager"> 
     <!-- .... --> 
     <!-- I didn't change this part --> 
</UserStoreManager> 

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ActiveDirectoryUserStoreManager"> 
     <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property> 
     <Property name="defaultRealmName">test.com</Property> 
     <Property name="DomainName">test.com</Property> 
     <Property name="kdcEnabled">false</Property> 
     <Property name="ConnectionURL">ldaps://10.20.112.213:636</Property> 
     <Property name="ConnectionName">CN=Adaccount,CN=Users,DC=test,DC=com</Property> 
     <Property name="ConnectionPassword">[email protected]</Property> 
     <Property name="UserSearchBase">CN=Users,DC=test,DC=com</Property> 
     <Property name="UserEntryObjectClass">person</Property> 
     <Property name="UserNameAttribute">sAMAccountName</Property> 
     <Property name="UserNameListFilter">(objectClass=person)</Property> 
     <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(sAMAccountName=?))</Property> 
     <Property name="ReadLDAPGroups">true</Property> 
     <Property name="EmptyRolesAllowed">true</Property> 
     <Property name="GroupSearchBase">CN=Users,DC=test,DC=com</Property> 
     <Property name="GroupEntryObjectClass">group</Property> 
     <Property name="GroupNameAttribute">cn</Property> 
     <Property name="MembershipAttribute">memberOf</Property> 
     <Property name="GroupNameListFilter">(objectClass=group)</Property> 
     <Property name="GroupNameSearchFilter">(&amp;(objectClass=group)(cn=?))</Property> 
     <Property name="UserRolesCacheEnabled">true</Property> 
     <Property name="Referral">follow</Property> 
     <Property name="isADLDSRole">false</Property> 
     <Property name="BackLinksEnabled">false</Property> 
     <Property name="maxFailedLoginAttempt">0</Property> 
    </UserStoreManager> 
    <AuthorizationManager 
     class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"> 
     <Property name="AdminRoleManagementPermissions">/permission</Property> 
    <Property name="AuthorizationCacheEnabled">true</Property> 
    </AuthorizationManager> 
</Realm> 

回答

0

我想可能有問題與密碼的正則表達式。根據你的配置,正則表達式模式不是在config中定義的。可能是,WSO2IS使用一些默認模式。請嘗試配置它們並查看...我可以在默認的user-mgt.xml文件中看到以下內容。嘗試配置它們並檢查。

 <Property name="PasswordJavaScriptRegEx">^[\S]{5,30}$</Property> 
    <Property name="ServicePasswordJavaRegEx">^[\\S]{5,30}$</Property> 
    <Property name="ServiceNameJavaRegEx">^[\\S]{2,30}/[\\S]{2,30}$</Property> 
     <Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property> 
     <Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
     <Property name="RolenameJavaScriptRegEx">^[\S]{3,30}$</Property> 
     <Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
+0

謝謝,密碼驗證通過了,但我仍然無法創建用戶。在日誌中,我看到LDAP錯誤代碼53(WILL_NOT_PERFORM)。我已確認該密碼有效,並且正在通過LDAPS訪問廣告。任何想法爲什麼這個錯誤代碼出現? – CrazyInDark

+0

通常,這是在不使用LDAPS時生成的。也可能是因爲您用來連接到LDAP的用戶沒有足夠的權限。這意味着由連接名稱定義的「CN = Adaccount,CN = Users,DC = test,DC = com」必須有權創建用戶並更改它們的密碼......您是否也可以驗證它 – Asela

相關問題