TOMCAT中配置JNDIRealm实现用户认证

系统 1663 0

 

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 发表评论

TOMCAT中配置JNDIRealm实现用户认证


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论