java - 带有 Windows AD 的 Tomcat 6 领域配置

标签 java tomcat active-directory jndi

我们有 Tomcat 6 连接到运行 AD 的 Win2k3 服务器。

领域是这样配置的

<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99" referrals="follow"
   connectionURL="<url>" 
   connectionName="CN=Query Account,OU=Service Accounts,DC=company,DC=com" 
   connectionPassword="<pwd>" 
   userBase="OU=Users,DC=company,DC=com" userSubtree="true" userSearch="(sAMAccountName={0})" userRoleName="member" 
   roleBase="OU=Security Groups,DC=company,DC=com" roleName="cn" roleSearch="(member={0})" roleSubtree="true"/>

我们在AD中的组是这样的

  Security Groups (OU)
   IT (OU)
     IT Support (OU)
       Support Staff (CN)

如果在 web.xml 中,LDAP 安全性有效,我指定支持人员。即适用于通用名称。

我们希望安全组 OU 下的任何用户都可以访问该应用程序,而不仅仅是 CN。 Tomcat 不搜索 OU,在我们的例子中它只搜索 CN。我们如何配置我们的设置,以便我们可以进行 OU 级别授权,而不仅仅是 CN 级别?

谢谢 垫子

最佳答案

“安全组”组不会也有一个 CN 吗?我认为您需要将您的用户分配给 Security Groups 组,然后以这种方式进行查询。我不认为 Realm 的东西可以按照您希望的方式进行查询。

一些可能对你有帮助的事情

referrals="follow"使用它,否则它不会尝试遍历目录来找到您的群组。

这可能会让您感到困惑。

祝你好运

关于java - 带有 Windows AD 的 Tomcat 6 领域配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2907596/

相关文章:

.NET:如何在 Active Directory 中查找用户?

c# - 使用 C# 从 Active Directory 获取组

java - 插入带有公式的字段( hibernate )

java - 尝试在泛型类上实现可比较的接口(interface)时出现绑定(bind)不匹配错误

java - JPA CriteriaQuery 计算用于 where 谓词的日期时间差

java - android - 如何从数组 ImageButton 中删除元素?

tomcat - Java servlet (tomcat) 跟踪到多个数据库的多个 jdbc 连接

java - HttpClient - 使用 Tomcat Webdav 上传 JAR 文件导致 "invalid or corrupt jarfile"

java - Hibernate 和 Oracle10g : Tomcat times out

java - 如何解码 Java 中的 logonHours 属性