如何使 tomcat/jndi 使用身份验证用户绑定到 ldap 以进行组搜索?
问题:
- servlet 的简单的基于 FORM 的 Tomcat/jndiRealm/ldap 身份验证
- 已设置,以便用户正确进行身份验证(绑定模式)
- 但是,ldap 服务器不允许匿名绑定查看我感兴趣的组。current-authenticating-user 可以查看这些组
- 我不想使用 connectionName 和 connectionPassword
我希望由当前正在进行身份验证的用户完成角色搜索,但即使在绑定模式下,wireshark 也会显示在初始用户身份验证之后完成了匿名绑定。
可行的解决方法,但不是我想要的:
- 使用可以查看组的用户的 connectionName 和 connectionPassword
- 为领域设置一个 commonRole
(我无法控制 ldap 服务器)
从我的(非工作)server.xml
<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionURL="ldap://localhost:389"
userPattern="cn={0},ou=people,o=myO,dc=myDc,dc=com"
roleBase="ou=groups,o=myO,dc=myDc,dc=com"
roleName="cn"
roleSearch="member={0}" />