TOMCAT中配置JNDIRealm实现用户认证

 

1  集成环境

1.1  软件环境

Windowxp

JDK_10

apache-tomcat-

openldap-

 

2   集成步骤

2.1  Openldap相关配置

1. 从http://download.bergmans.us/openldap/openldap-2.2.29获取Openldap window版本系统;

2. 安装Openldap系统,同时设定Openldap环境变量 OPENLDAP_HOME 为Openldap安装目录;

3. 修改%OPENLDAP_HOME%\ slapd.conf配置文件,增加如下内容

include            ./schema/cosine.schema
include            ./schema/inetorgperson.schema
include            ./schema/nis.schema

 4. 修改 %OPENLDAP_HOME%\ slapd.conf中的database define 内容如下:

database bdb
suffix "dc=mycompany,dc=com"
rootdn "cn=Manager,dc=mycompany,dc=com"
rootpw secret

 5. 在命令行模式下,启动OpenLdap

$ cd %OPENLDAP_HOME%
$ slapd.exe -d 100

-d 100 说明debug的级别
 6. 执行数据导入命令,导入openldap数据,数据请参考examples.rar
/Files/dreamland/examples.rar

$cd %OPENLDAP_HOME%
$ ldapadd -x -v -D "cn=Manager,dc=mycompany,dc=com" -w secret -f examples.ldif

7. 通过ldapsearch命令 确认数据是否导入成功

$cd %OPENLDAP_HOME%
$ldapsearch -x -b "dc=mycompany,dc=com" -s sub "(objectclass=*)" -w secret -D "cn=Manager,dc=mycompany,dc=com"

命令执行后,会将刚才导入的数据全部列出在控制台日志中;

 

2.2  Tomcat 相关配置

1、 从http://tomcat.apache.org    下载 apache-tomcat-.zip;

2、 安装tomcat,同时设定TOMCAT_HOME环境变量为当前tomcat的安装目录;

3、 编辑%TOMCAT_HOME%\conf\server.xml文件

4、 删除当前 Engine节点下的全部的Realm配置,添加如下配置

< Realm    className ="org.apache.catalina.realm.JNDIRealm"  debug ="99"
connectionName
="cn=Manager,dc=mycompany,dc=com"
               connectionPassword
="secret"
               connectionURL
=ldap://127.0.0.1:389
               
userPattern ="uid={0},ou=people,dc=mycompany,dc=com"
               userPassword
="userPassword"
               roleBase
="ou=groups,dc=mycompany,dc=com"
               roleName
="cn"
               roleSearch
="(uniqueMember={0})" />

其中红色部分的IP和端口为当前opneldap运行的IP和端口


关于Realm配置的说明,请参考tomcat相关文档

 

注:对于已经存在的ldap Server,我们可以分析schema的定义,重新配置Realm 中的连接,userPattern,

        roleSearch等属性,从而获取用户和角色的信息。

 

2.3 配置结果验证

1、 启动openldap

2、 启动tomcat

3、 IE 连接 http://127.0.0.1:8080 访问manager应用,提示输入用户名/密码

4、 输入 sanzhang/zhangsan,如果系统认证通过,说明认证配置成功

由于Tomcat自带的manager Web应用中需要有manager角色的用户才能够被认证登入,我们添加的数据中,sanzhang这个用户具有manager角色,如果配置正确,sanzhang用户可以登入manager系统

 

 



Tomahawk 2007-08-25 07:41 发表评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值