Wso2 身份服务器连接配置与 Microsoft 活动目录
Posted
技术标签:
【中文标题】Wso2 身份服务器连接配置与 Microsoft 活动目录【英文标题】:Wso2 identity server connection configuration with Microsoft active directory 【发布时间】:2018-08-28 00:31:04 【问题描述】:连接到 Microsoft Active Directory 时在 wso2 身份服务器控制台收到以下错误
获取连接时出错。 [LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C0903C5,注释:AcceptSecurityContext 错误,数据 52e,v2580] javax.naming.AuthenticationException:[LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C0903C5,注释:AcceptSecurityContext 错误,数据 52e,v2580]
下面的 user-mgt.xml 配置在哪里
<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadWriteLDAPUserStoreManager">
<Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property>
<Property name="ConnectionURL">ldap://10.10.4.145:389</Property>
<Property name="ConnectionName">uid=wso2admin,ou=Users</Property>
<Property name="ConnectionPassword">root.123</Property>
<Property name="AnonymousBind">false</Property>
<Property name="UserSearchBase">ou=Users,dc=prc,dc=com</Property>
<Property name="UserEntryObjectClass">identityPerson</Property>
<Property name="UserNameAttribute">uid</Property>
<Property name="UserNameSearchFilter">(&(objectClass=person)(uid=?))</Property>
<Property name="UserNameListFilter">(objectClass=person)</Property>
<Property name="DisplayNameAttribute" />
<Property name="ReadGroups">true</Property>
<Property name="WriteGroups">true</Property>
<Property name="GroupSearchBase">ou=Groups,dc=prc,dc=com</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="MembershipAttribute">member</Property>
<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 length should be within 5 to 30 characters</Property>
<Property name="RolenameJavaRegEx">[a-zA-Z0-9._-|//]3,30$</Property>
<Property name="RolenameJavaScriptRegEx">^[\S]3,30$</Property>
<Property name="SCIMEnabled">true</Property>
<Property name="IsBulkImportSupported">false</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">prc.com</Property>
<Property name="UserRolesCacheEnabled">true</Property>
<Property name="ConnectionPoolingEnabled">false</Property>
<Property name="LDAPConnectionTimeout">5000</Property>
<Property name="ReadTimeout" />
<Property name="RetryAttempts" />
</UserStoreManager>
【问题讨论】:
【参考方案1】:“错误代码 49”表示凭据错误(您用于尝试连接的凭据)。
我猜是这样的:
<Property name="ConnectionName">uid=wso2admin,ou=Users</Property>
根据the documentation,该属性应该是“LDAP 中管理员用户的DN(可分辨名称)”。但是您的专有名称不正确有两个原因:
-
您不能在专有名称中使用
uid
(该示例使用uid
,但这不适用于Active Directory)。它应该以CN=
开头。
您缺少 DN 的域部分,例如“dc=prc,dc=com”(我假设这就是您的域的内容”
所以它应该看起来更像这样(但您必须验证它是否正确):
<Property name="ConnectionName">cn=wso2admin,ou=Users,dc=prc,dc=com</Property>
【讨论】:
在编辑上述参数后,添加用户时出现以下错误。启用用户帐户时出错。请检查用户在 DC 的密码策略:root1 听起来这个错误是固定的。如果您需要有关新错误的帮助,那么您最好开始一个新问题并显示您的代码。以上是关于Wso2 身份服务器连接配置与 Microsoft 活动目录的主要内容,如果未能解决你的问题,请参考以下文章
将 Keycloak 用作 WSO2 身份服务器的联合身份提供者时出现 SSL 错误