繁体   English   中英

如何在WSO2 Indentity Server 4.5中将新用户添加到外部userstore(AD)?

[英]How to add new user to external userstore(AD) in WSO2 Indentity Server 4.5?

我正在尝试将用户添加到后端广告。 但是,如果我指定密码,则会始终得到“密码不符合系统要求。 请再试一次。' (我可以在广告服务器上使用相同的密码将用户添加到AD)

然后我尝试了“从用户询问密码”,但未指定密码。 创建失败,并显示以下消息:

无法添加用户test.com/testadd。 错误是:凭据无效。 凭据必须是具有以下格式的非null字符串,null

虽然我确定广告证书已添加到我可以找到的所有密钥库中。

那我下一步该怎么办?

这是我的user-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">password@123</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>

我想密码的正则表达式模式可能存在问题。 根据您的配置,regex模式未在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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM