dn:uid = jjones,ou = people,dc = mycompany,dc = com
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionName="cn=Manager,dc=mycompany,dc=com"
connectionPassword="secret"
connectionURL="ldap://localhost:389"
userPassword="userPassword"
userPattern="uid={0},ou=people,dc=mycompany,dc=com"
roleBase="ou=groups,dc=mycompany,dc=com"
roleName="cn"
roleSearch="(uniqueMember={0})"
/>
的改变 的
dn:uid = jjones,ou = people,dc = mycompany,dc = com
dn:uid = jjones, ou = robots ,dc = mycompany,dc = com
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionName="cn=Manager,dc=mycompany,dc=com"
connectionPassword="secret"
connectionURL="ldap://localhost:389"
userPassword="userPassword"
userPattern="uid={0},ou={0},dc=mycompany,dc=com"
roleBase="ou=groups,dc=mycompany,dc=com"
roleName="cn"
roleSearch="(uniqueMember={0})"
/>
这种调整是否符合我的要求,以实现第二次区分? 我不知道“{0}”是否有效或是否必须将其更改为“{1}”。
当我定义了“userPattern”属性时,我真的不需要“userBase”属性吗?
答案 0 :(得分:3)
解决方案是userPatternArray
如下:
有时对用户来说是必要的 从不同的组织单位到 可以访问Code Collaborator。如果 你正在使用直接绑定 使用userPattern进行配置 属性,你可以改变 配置使用userPatternArray 相反,值是a 以冒号分隔的用户模式列表。 例如,如果有用户 ou = foo,dc = mycompany,dc = com和ou = bar,dc = mycompany,dc = com 通过他们的uid属性识别,你 可以设置userPatternArray属性 如下:如下:
userPatternArray="(uid={0},ou=foo,dc=mycompany,dc=com):(uid={0},ou=bar,dc=mycompany,dc=com)as follows:
答案 1 :(得分:1)
与我从手册和上面的内容中扣除的相反,我在Tomcat 6.0.18中发现它是参数userPattern,而不是userPatternArray,需要使用以冒号分隔的列表进行设置。
答案 2 :(得分:1)
请改为尝试:
<Realm
className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionName="cn=administrator,ou=users,dc=Filenet,dc=com"
connectionPassword="Password"
connectionURL="ldap://localhost:389"
userPattern="(cn={0},ou=sales,dc=Filenet,dc=com)(cn={0},ou=users,dc=Filenet,dc=com)"
roleBase="ou=groups,dc=Filenet,dc=com"
roleName="cn"
roleSearch="(member={0})"/>