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/inetorgperson.schema
include ./schema/nis.schema
4. 修改 %OPENLDAP_HOME%\ slapd.conf中的database define 内容如下:
suffix "dc=mycompany,dc=com"
rootdn "cn=Manager,dc=mycompany,dc=com"
rootpw secret
5. 在命令行模式下,启动OpenLdap
$ slapd.exe -d 100
-d 100 说明debug的级别
6. 执行数据导入命令,导入openldap数据,数据请参考examples.rar
/Files/dreamland/examples.rar
$ ldapadd -x -v -D "cn=Manager,dc=mycompany,dc=com" -w secret -f examples.ldif
7. 通过ldapsearch命令 确认数据是否导入成功
$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配置,添加如下配置
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系统