2009-09-18 69 views
1

我需要在AD中设置针对域用户组的LDAP身份验证;有一个问题,ldap authenticatin似乎要求用户是除默认域用户以外的其他组的成员。但是,当有超过10000个用户时,它并不是将这些用户分配给另一个用于这个tomcat目的的解决方案。如何设置tomcat ldap身份验证没有检查成员

还有别的办法吗?是否可以通过编辑server.xml或web.xml来检查primaryGroupID?

还是可以完全忽略GROUP检查?

回答

0

根据Realm Configuration HOW-TO

目录境界支持两种方法来在目录中的角色的代表性:

  • 角色作为明确的目录条目
    角色可以通过明确的目录来表示条目。角色条目通常是一个LDAP组条目,其中一个属性包含角色名称,另一个属性值则是该角色中用户的可分辨名称或用户名。下面的属性配置目录搜索,找到与认证的用户关联的角色的名字:
  • roleBase - 角色搜索的基本条目。如果未指定,则搜索库是顶级目录上下文。
  • roleSubtree - 搜索范围。如果您想搜索以roleBase条目为根的整个子树,请设置为true。默认值false仅请求包含顶级的单级搜索。
  • roleSearch - 用于选择角色条目的LDAP搜索过滤器。它可选地包括针对专有名称的模式替换“{0}”和/或针对经认证用户的用户名的“{1}”。
  • roleName - 包含该角色的名称
  • 角色作为用户入口
    的角色名,也可以持有的值的属性的角色条目属性属性在用户的目录条目中。使用userRoleName指定此属性的名称。

可以使用两种角色表示方法的组合。

所以一种方法是使用属性,如果你有适当的东西。有些工具可以对AD属性进行“批量更新”或“批量修改”。如果你不想污染AD,那就用ADAM包装它。您可以在ADAM中创建指向AD用户的代理对象,并在ADAM中添加属性。有关更多信息,请参阅Understanding ADAM bind redirection

0

境界亚类从org.apache.catalina.realm.RealmBase导出有一个配置参数,allRolesMode其控制行为时,不设置角色属性(userRoleName)或条目(roleSearch等)。这留给了他们的配置文件,但会出现在Javadoc。你可能想allRolesMode="strictAuthOnly"