WSO2 IS配置Primary User Store——LDAP(Read-Only方式)

本文详述如何以Read-Only方式配置WSO2 Identity Server(WSO2 IS)连接LDAP用户存储。内容包括user-mgt.xml配置文件的修改,如启用Read-Only LDAP连接,设置admin角色,指定LDAP服务器的IP、连接用户名、密码以及用户和组的DN。重启WSO2 IS后,即可使用LDAP中的用户进行登录。

本文主要WSO2 IS通过Read-Only方式连接LDAP
1、在WSO2 IS中,user store的是通过Carbon-Home]/repository/conf/user-mgt.xml配置文件来管理的,user-mgt.xml的文件结构如下所示:

<UserManager>
  <Realm>
    <Configuration>
      .................
    </Configuration>
    <UserStoreManager>
      .................
    </UserStoreManager>
    <AuthorizationManager>
      .................
    </AuthorizationManager>
  </Realm>
</UserManager>

2、先观察<configuration>部分,

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

<AddAdmin>true</AddAdmin>设置是否可以添加admin角色,此处需要设置为true;
<AdminRole>admin</AdminRole>制定admin对应的管理员权限,默认是admin,也可以是数据库中其他的角色;、
<AdminUser>配置默认的管理员;
<UserName>37Ink</UserName>是管理员的用户名,这个用户名必须是LDAP中已经存在的用户;
<Password>部分不需要填写,直接留空即可;
其他的<Configuration>保持原样即可。

3、接下来看<UserStoreManager>部分,在WSO2 IS的初始user-mgt.xml文件中,提供了四种连接方式样例,分别是Read-Write LDAP、JDBC、Read-Only LDAP、ActiveDirectory,默认开启的是Read-Write LDAP,连接的是本地的LDAP,接下来配置Read-Only方式连接外部的LDAP,配置完的内容如下:

<UserStoreManager class="org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager">
        <Property name="TenantManager">org.wso2.carbon.user.core.tenant.CommonHybridLDAPTenantManager</Property>
        <Property name="ReadOnly">true</Property>
        <Property name="Disabled">false</Property>                      
        <Property name="MaxUserNameListLength">100</Property>
        <Property name="ConnectionURL">ldap://10.82.81.163:389</Property>
        <Property name="ConnectionName">cn=admin,dc=example,dc=com</Property>
        <Property name="ConnectionPassword">123456</Property>
        <Property name="passwordHashMethod">PLAIN_TEXT</Property>
        <Property name="UserSearchBase">dc=example,dc=com</Property>
        <Property name="UserNameListFilter">(objectClass=person)</Property>
        <Property name="UserNameSearchFilter">(&amp;(objectClass=person)(cn=?))</Property>
        <Property name="UserNameAttribute">cn</Property>
        <Property name="ReadGroups">true</Property>
        <Property name="GroupSearchBase">dc=example,dc=com</Property>
        <Property name="GroupNameListFilter">(objectClass=groupOfNames)</Property>
        <Property name="GroupNameSearchFilter">(&amp;(objectClass=groupOfNames)(cn=?))</Property>
        <Property name="GroupNameAttribute">cn</Property>
        <Property name="SharedGroupNameAttribute">cn</Property>
        <Property name="SharedGroupSearchBase">ou=SharedGroups,dc=wso2,dc=org</Property>
        <Property name="SharedGroupNameListFilter">(objectClass=groupOfNames)</Property>
        <Property name="SharedTenantNameListFilter">(objectClass=organizationalUnit)</Property>
        <Property name="SharedTenantNameAttribute">ou</Property>
        <Property name="SharedTenantObjectClass">organizationalUnit</Property>
        <Property name="MembershipAttribute">member</Property>
        <Property name="UserRolesCacheEnabled">true</Property>
        <Property name="ReplaceEscapeCharactersAtUserLogin">true</Property>
        <Property name="MaxRoleNameListLength">100</Property>
        <Property name="MaxUserNameListLength">100</Property>
        <Property name="SCIMEnabled">false</Property>
</UserStoreManager>

ConnectionURL是ldap服务器的ip;
ConnectionName是ldap服务器的连接用户名;
ConnectionPasswordldap服务器的连接用户名对应的密码;
UserSearchBase更改为ldap中user对应DN;
UserNameSearchFilter需要将uid改为cn,如果所使用的为uid则不需要;
UserNameAttribute需要将uid改为cn,如果所使用的为uid则不需要;
ReadGroups通过这个属性可以设置是否读取ldap中的group,如果设置为false,则下面的group操作可不做;
GroupSearchBase更改为ldap中group对应的cDN;
其他属性保持不变即可。

4、将WSO2 IS重启之后,就可以通过之前设置的LDAP用户直接登录WSO2 IS了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值