Tomcat LDAP JNDI配置角色搜索

时间:2015-08-06 12:55:23

标签: java tomcat ldap jndi apacheds

我正在寻找一种方法来使用带有Tomcat的Apache DS和通过context.xml文件设置的LDAP领域JNDI来优化我的角色管理。我对这些主题并不熟练,所以请原谅我所犯的任何明显的术语错误。

context.xml中

我当前的context.xml文件就是这样

<Realm className="org.apache.catalina.realm.JNDIRealm"
     connectionName="uid=admin,ou=system"
     connectionPassword="PASSWORD"
     roleBase="ou=Groups,dc=ff,dc=local"
     roleName="cn"
     roleNested="true"
     roleSearch="(uniqueMember={0})"
     roleSubtree="true"
     userBase="ou=People,dc=ff,dc=local"
     userSearch="(mail={0})"
     connectionURL="${ldapServer}"
  />

我理解的方式如下:

  • connectionNameconnectionPasswordconnectionURL设置凭据以登录ApacheDS

  • userBase设置用户的搜索路径

  • userSearch="(mail={0})"表示它将在ou=People,dc=ff,dc=local中搜索有mail条目等于搜索键的条目(在我们的例子中是登录电子邮件)

例如,我有一个名为:

的条目
cn=A52Q7BBN9PVHHPH
sn=User
givenName=Test
mail=testUser@test.com
userPassword=SSHA-512 hashed password
... (some other non importnat fileds)

所以我的理解是,如果我们使用testUser@test.com登录到Web服务器,tomcat将对cn进行查询,其中属性mail=testUser@test.com

这很有效,但我遇到的问题是找出一种更简单的角色管理方式

角色

我有一个&#34;条目?&#34;在cn=ff-admin中调用ou=Groups,据我了解任何&#34;条目&#34;在该组中应该指示具有管理员权限的用户。问题是条目看起来像:

uniqueMember=cn=A52Q7BBN9PVHHPH,ou=People,dc=ff,dc=local

与可能的更可读的东西相反:

uniqueMember=mail=testUser@test.com

我正在搜索修改我的context.xml的方法,以便通过LDAP更轻松地进行用户管理,这样我就不必尝试将随机cn交叉引用到实际电子邮件地址。

我假设我可以更改roleSearch=....条目,但我想在开始黑客攻击之前联系堆栈社区并可能破坏某些内容。

roleBase="ou=Groups,dc=ff,dc=local"
roleName="cn"
roleNested="true"
roleSearch="(uniqueMember={0})"
roleSubtree="true"

0 个答案:

没有答案