gpt4 book ai didi

active-directory - WSO2 身份服务器 - LDAP 用户存储不工作

转载 作者:行者123 更新时间:2023-12-02 03:48:32 30 4
gpt4 key购买 nike

我正在尝试针对我们公司的 Active Directory 配置身份服务器 (4.1.0)。

我正在使用 ReadOnlyLDAPUserStoreManager 类。这是用户存储的配置:

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager">
<Property name="ReadOnly">true</Property>
<Property name="MaxUserNameListLength">100</Property>
<Property name="ConnectionURL">ldap://host</Property>
<Property name="ConnectionName">ommitted</Property>
<Property name="ConnectionPassword">xxxxxx</Property>
<Property name="passwordHashMethod">PLAIN_TEXT</Property>
<Property name="UserSearchBase">searchbase</Property>
<Property name="UserNameListFilter">(objectClass=user)</Property>
<Property name="UserNameAttribute">sAMAccountName</Property>
<Property name="ReadLDAPGroups">true</Property>
<Property name="GroupSearchBase">groupbase</Property>
<Property name="GroupNameListFilter">(objectClass=group)</Property>
<Property name="GroupNameAttribute">sAMAccountName</Property>
<Property name="MembershipAttribute">memberOf</Property>
<Property name="UserRolesCacheEnabled">false</Property>
<Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
<Property name="maxFailedLoginAttempt">0</Property>
</UserStoreManager>

我删除了特定的连接详细信息以及 UserSearchBase 和 GroupSearchBase。 IS 成功启动,我可以看到列出的用户和角色。

我遇到了以下问题:

  • 身份服务器没有正确地将分配的角色映射到用户。即使我的 AD 使用“memberOf”属性来定义组成员身份,身份服务器也没有分配给特定用户
  • 我无法使用来 self 的 LDAP 存储的用户登录身份服务器管理 UI。当我按以下方式配置 Realm/Configuration 时:

    行政 AD_用户名 行政 每个人 jdbc/WSO2CarbonDB org.wso2.carbon.user.core.config.multitenancy.CommonLDAPRealmConfigBuilder org.wso2.carbon.user.core.config.multitenancy.CommonLDAPRealmConfigBuilder

有没有人对集成作为 ACtive 目录的只读 LDAP 存储有任何建议?

更新使用 WSO2 支持,我会建议大家在尝试这个特定用例之前等到 IS 4.1.1。该产品的旧版本根本无法正常工作。我会根据我的了解进行更新。

最佳答案

我不知道 Active Directory,但我们在 OpenLDAP 上遇到了类似的问题,我们无法列出用户的角色,原因是,我们的 LDAP 仅通过使用用户的 UID 将用户与组相关联,例如,关于属性 memberUid 的角色:

memberUid = alandaniel

但是WSO2 org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager的方式期望是:

memberUid = uid=alandaniel,ou=x,dc=y,dc=z

所以我必须自定义 user.core 插件。而不是创建查询:

(&(objectClass=posixGroup)(memberUid=uid=alandaniel,ou=x,dc=y,dc=z))

它现在将使用

(&(objectClass=posixGroup)(memberUid=alandaniel))

所以如果你真的需要自定义它,扩展ReadOnlyLDAPUserStoreManager并自定义方法getExternalRoleListOfUser(..)

*使用的版本是 WSO2 IS 4.1.0 和 WSO2 ESB 4.6.0。

关于active-directory - WSO2 身份服务器 - LDAP 用户存储不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15392148/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com