请检查JNDI领域配置

时间:2018-10-12 11:24:34

标签: java tomcat active-directory ldap jndi

我的Tomcat Web应用程序日志告诉我user1不在来自AD的指定映射LDAP角色/组中。我相信我的问题在于JNDI Realm定义。有人可以查看它,看看我可能出了什么问题,我也包括了广告中的DN信息:

我的“ user1”帐户DN是

DistinguishedName : CN=user1,OU=Users,OU=Lab,DC=example,DC=com

我在web.xml配置中指定的角色/组“用户”是

DistinguishedName : CN=Users,CN=Builtin,DC=example,DC=com

我的领域配置为

<Realm
className="org.apache.catalina.realm.JNDIRealm"
debug="99"
connectionURL="ldap://example.com:389"
authentication="simple"
referrals="follow"
connectionName="cn=administrator,cn=users,dc=example,dc=com"
connectionPassword="##########"
userSearch="(sAMAccountName={0})"
userBase="cn=users,dc=example,dc=com"
userSubtree="true"
userRoleName="memberOf"
roleSearch="(member={0})"
roleName="cn"
roleSubtree="true"
roleBase="cn=users,cn=builtin,dc=example,dc=com"/>

1 个答案:

答案 0 :(得分:0)

修复自己。这是正确的配置。

<Realm
 className="org.apache.catalina.realm.JNDIRealm"
 debug="99"
 connectionURL="ldap://example.com:3268"
 authentication="simple"
 referrals="follow"
 connectionName="cn=administrator,cn=users,dc=example,dc=com"
 connectionPassword="########"
 userSearch="(sAMAccountName={0})"
 userBase="dc=example,dc=com"
 userSubtree="true"
 userRoleName="memberOf"
 roleName="cn"
 roleSubtree="true"/>