java jndi用户认证的方式_TOMCAT中配置JNDIRealm实现用户认证

1  集成环境

Windowxp

JDK1.5.0_10

apache-tomcat-6.0.10

openldap-2.2.29

2   集成步骤

2.1  Openldap相关配置

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

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

4f1150b881333f12a311ae9ef34da474.pnginclude            ./schema/cosine.schema

4f1150b881333f12a311ae9ef34da474.pnginclude            ./schema/inetorgperson.schema

4f1150b881333f12a311ae9ef34da474.pnginclude            ./schema/nis.schema

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

4f1150b881333f12a311ae9ef34da474.pngdatabase bdb

4f1150b881333f12a311ae9ef34da474.pngsuffix "dc=mycompany,dc=com"

4f1150b881333f12a311ae9ef34da474.pngrootdn "cn=Manager,dc=mycompany,dc=com"

4f1150b881333f12a311ae9ef34da474.pngrootpw secret

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

4f1150b881333f12a311ae9ef34da474.png$ cd %OPENLDAP_HOME%

4f1150b881333f12a311ae9ef34da474.png$ slapd.exe -d 100

-d 100 说明debug的级别

6. 执行数据导入命令,导入openldap数据,数据请参考examples.rar

/Files/dreamland/examples.rar

4f1150b881333f12a311ae9ef34da474.png$cd %OPENLDAP_HOME%

4f1150b881333f12a311ae9ef34da474.png$ ldapadd -x -v -D "cn=Manager,dc=mycompany,dc=com" -w secret -f examples.ldif

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

4f1150b881333f12a311ae9ef34da474.png$cd %OPENLDAP_HOME%

4f1150b881333f12a311ae9ef34da474.png$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-6.0.10.zip;

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

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

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

4f1150b881333f12a311ae9ef34da474.pngconnectionName="cn=Manager,dc=mycompany,dc=com"4f1150b881333f12a311ae9ef34da474.png               connectionPassword="secret"4f1150b881333f12a311ae9ef34da474.png               connectionURL=ldap://127.0.0.1:389

4f1150b881333f12a311ae9ef34da474.pnguserPattern="uid={0},ou=people,dc=mycompany,dc=com"4f1150b881333f12a311ae9ef34da474.png               userPassword="userPassword"4f1150b881333f12a311ae9ef34da474.png               roleBase="ou=groups,dc=mycompany,dc=com"4f1150b881333f12a311ae9ef34da474.png               roleName="cn"4f1150b881333f12a311ae9ef34da474.png               roleSearch="(uniqueMember={0})"/>4f1150b881333f12a311ae9ef34da474.png

其中红色部分的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系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值