在Tomcat5.5中使用 LDAP 进行用户认证
在配置 Tomcat 之前需要先把 LDAP 服务器安装并设置好,并创建一些组和用户。
编辑 Tomcat 服务器配置文件 (server.xml)
1. 注释掉 UserDatabase 相关设置
a) 找到 Tomcat 服务器配置文件 server.xml并将其备份,通常这个文件位于$CATALINA_HOME/conf 目录下,其中 $CATALINA_HOME 为 Tomcat 的安装目录。
b) 用文本编辑器打开这个文件,并找到以下部分
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
c) 将其注释掉:
<!--
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
-->
d) 然后再找到对 UserDatabase 的 Realm 设置
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
e) 按照上面的方法将其注释(在前面加 <!--,在后面加 -->)。保存文件。
2. 添加 JNDI Realm 信息
a) 在 server.xml 文件中找到如下文本:
<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->
b) 在后面加上如下文本
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://localhost:389"
connectionName="cn=Directory Manager"
connectionPassword="secret"
userPattern="uid={0},ou=People,dc=example,dc=com"
userPassword="userPassword"
roleBase="ou=Groups,dc= example,dc= com "
roleName="cn"
roleSubtree="false"
roleSearch="(uniqueMember={0})"
/>
参数名 |
Realm 属性 |
参数值 |