`
llpei
  • 浏览: 3845 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

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 发表评论
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics