LDAP JNDI Tomcat - 可以连接但不能登录

时间:2014-08-08 21:56:36

标签: tomcat ldap context.xml

问题

我想将tomcat-users.xml数据(角色,用户名)移动到LDAP。

我可以通过JNDI成功连接到LDAP,但是我无法在LDAP中设置角色以供用户访问Tomcat。 我跟着这个,

http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

并像他们一样设置LDIF,但还没有成功。

环境:

  • Tomcat7
  • ApacheDS中
  • Netbeans的

来源

这是我的context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/simple-service-webapp">

   <Realm className="org.apache.catalina.realm.JNDIRealm"
   debug="99"       
        connectionName="uid=admin,ou=system"
        connectionPassword="MYPASSWORD"
        connectionURL="ldap://localhost:10389"
          userBase="dc=mycompany,dc=com"
          userSearch="(cn={0})" 
   userPassword="userPassword"
   userPattern="uid={0},ou=users,dc=mycompany,dc=com"
      roleBase="ou=groups,dc=mycompany,dc=com"
      roleName="cn"
      roleSearch="(uniqueMember={0})"    

   />
   </Context>

这是我的ldap图片: ldap config

1 个答案:

答案 0 :(得分:0)

OP写道:

  

我和#apache-directory上的好朋友一起工作,得到了一个有效的ldap配置:

<Realm className="org.apache.catalina.realm.JNDIRealm" 
         connectionURL="ldap://localhost:10389" 
         connectionName="uid=admin,ou=system"
         connectionPassword="ThisIsMyPasswordToConnect"
         userBase="ou=people,dc=mycompany,dc=com" 
         userSearch="(uid={0})" 
         userRoleName="memberOf" 
         roleBase="ou=groups,dc=mycompany,dc=com" 
         roleName="cn" 
         roleSearch="(uniqueMember={0})" />