1

您好,我需要一些帮助来为 WSO2 ESB 设置 LDAP 用户存储:我有我的 ldap 主机:ldap://my.domain.ac.uk:389 basedndc=my,dc=domain,dc=ac,dc=uk 用户名密码:Name Surname mypassword

我不知道如何成功配置user-mgt.xmlWSO2 ESB 的文件,我得到“

LDAPUserStoreManager Carbon cannot function without an Admin Username

DefaultRealm Cannot create org.wso2.carbon.user.core.ldap.LDAPUserStoreManager . Error is : null"

我对 ldap 的配置是:

<UserStoreManager class="org.wso2.carbon.user.core.ldap.LDAPUserStoreManager">
            <Property name="ReadOnly">true</Property>
            <Property name="MaxUserNameListLength">100</Property>
            <Property name="ConnectionURL">ldap://my.domain.ac.uk:389</Property>
            <Property name="ConnectionName">cn=Name Surname,ou=Users,dc=my,dc=domain,dc=ac,dc=uk</Property>
            <Property name="ConnectionPassword">mypassword</Property>
            <Property name="UserSearchBase">ou=Users,dc=my,dc=domain,dc=ac,dc=uk</Property>
            <Property name="UserNameListFilter">(objectClass=sAMAccountName)</Property>
            <Property name="UserNameAttribute">uid</Property>
            <Property name="ReadLDAPGroups">false</Property>
            <Property name="GroupSearchBase">ou=Users,dc=my,dc=domain,dc=ac,dc=uk</Property>
            <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
            <Property name="GroupNameAttribute">uid</Property>
            <Property name="MembershipAttribute">member</Property>
            <Property name="UserRolesCacheEnabled">true</Property>
        <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
        </UserStoreManager>

有什么建议吗?

谢谢

4

3 回答 3

2

在 user-mgt.xml 中有以下配置元素,

<AdminUser>
    <UserName>admin</UserName>
    <Password>admin</Password>
</AdminUser>

确保您的 LDAP 中有一个名为 admin 的用户。或者提供 LDAP 中存在的用户名。HTH。

于 2012-10-02T04:43:58.827 回答
0

您的广告中有 uid 属性吗?我之前看到过这个问题,它发生是因为具有此配置的 ESB 无法找到您在以下位置指定的用户:

<AdminUser>
    <UserName>admin</UserName>
    <Password>admin</Password>
</AdminUser>

您的连接名称使用 cn = ..... 并且您尝试使用 uid 进行搜索!这是正确的配置?也许您可以发布 ldap 架构。

于 2012-10-08T04:45:43.677 回答
0

您必须包括以下内容:

<UserManager>
    <Realm>
    <Configuration>
            <AdminRole>LDAP_ADMIN_GROUP</AdminRole>
            <AdminUser>
                 <UserName>LDAP_USER</UserName>
                 <Password></Password>
            </AdminUser>
        <EveryOneRoleName></EveryOneRoleName> <!-- By default users in this role sees the registry root -->
        <Property name="dataSource">jdbc/WSO2CarbonDB</Property>
        <Property name="MultiTenantRealmConfigBuilder">org.wso2.carbon.user.core.config.multitenancy.SimpleRealmConfigBuilder</Property>
    </Configuration>

其中 LDAP_ADMIN_GROUP 必须是 LDAP 服务器中存在的组,并且将在 WSO2 服务器中分配管理员权限。

LDAP_USER 必须属于前面提到的 LDAP_ADMIN_GROUP。您不需要提供密码,可以留空。

还要确保您配置的 Filter 和 SearchBase 正确,并且用户和组在该范围内。

您可以在此处找到更多详细信息:

http://docs.wso2.org/wiki/display/ESB450/Configuring+External+User+Stores

于 2013-05-07T02:46:02.593 回答