Tomcat和OpenLDAP从配置到应用

上传人:公**** 文档编号:506952160 上传时间:2023-04-27 格式:DOC 页数:7 大小:160.71KB
返回 下载 相关 举报
Tomcat和OpenLDAP从配置到应用_第1页
第1页 / 共7页
Tomcat和OpenLDAP从配置到应用_第2页
第2页 / 共7页
Tomcat和OpenLDAP从配置到应用_第3页
第3页 / 共7页
Tomcat和OpenLDAP从配置到应用_第4页
第4页 / 共7页
Tomcat和OpenLDAP从配置到应用_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Tomcat和OpenLDAP从配置到应用》由会员分享,可在线阅读,更多相关《Tomcat和OpenLDAP从配置到应用(7页珍藏版)》请在金锄头文库上搜索。

1、林显宗http:/ 深层沟通http:/Tomcat 和 OpenLDAP, 从配置到应用林显宗http:/ 深层沟通http:/乎所有的 Java Web 应用都需要某种类型的安全性的控制, 并且这通常会借助于 Lightweight Directory Access Protocol (LDAP) 目录服务来实现. 作为一个开发者,很有必要在本地安装一个 OpenLDAP 和 Web 容器来提高开发效率. 配置 Tomcat 连接到 OpenLDAP 的过程假如你能理解的话,还是很直白的. 这篇文章详细描述了这一配置过程,并用 Apache Jakarta 项目下的标签库 (taglib)

2、 来演示简单的方式去测试这一安全机制.什么是 LDAP?LDAP 对于许多人来说不是几句话就能说清的. 对于本文来讲, 只需理解为是通过用户名和密码对用户进行验证的简单通用协议就够了. 换句话就是, 它提供了一种验证机制. 再进一步讲,它还要验证用户是否允许访问特定应用程序区域. 这是一个鉴权的过程. 验证和鉴权是有明显区别的. 它们并非一回事.不同的 LDAP 产品在理论上是可互换了. 然而, 还是应该要注意到它们之间配置的不同. 一个 LDAP 目录是由下面那些层级组成树型结构的: 根 (树的源头), 由此产生分支 国家, 每项可有分支 组织, 可有分支 组织单元 (分部, 部门, 片区,

3、 等)., 可有分支 (或是最终节点) 个体.LDAP 目录能通过 Lightweight Directory Interchange Format (LDIF) 文件格式导入或导出它们的内容. LDIF 是一个文本格式的文件,它能用来在 LDAP 之间交换信息, 或者像本文中那样用了它来初始化目录的配置. 由于是开源的, OpenLDAP 是许多开发者的首选的目录服务器.OpenLDAP 的安装和配置下载并安装好了 OpenLDAP 之后, 我们需要对安装目录下的 slapd.conf 文件作些很重要的修改.首先是要包含 InetOrgPerson 模式. 这个模式里预定义了许多针对网络用户

4、的有用的属性, 包括作为用户登陆用 ID 的 uid 属性. InetOrgPerson 模式依赖于 Cosine 模式, 因此应包含它.ucdata-path C:/openldap/ucdatainclude C:/openldap/etc/schema/core.schemainclude C:/openldap/etc/schema/cosine.schemainclude C:/openldap/etc/schema/inetorgperson.schemadatabase bdbsuffix dc=mycompany,dc=comrootdn cn=Manager,dc=mycom

5、pany,dc=comrootpw secretdirectory C:/openldap/var/openldap-dataindex objectClass eq第二方面的修改是要告诉 OpenLDAP 使用什么类型的数据库和根的识别名及密码是什么. 这是进入城市的钥匙, 所以应该选择并设任何其他的密码.一旦所有对 slapd.conf 文件修改完毕之后, 就可以启动 OpenLDAP 了. 到命令行下进入到安装目录中(默认是 c:openldap). 输入命令 .slapd -d 1, 然后服务器就会启动,界面如图 1. 图 1. OpenLDAP 启动后 (点击看全尺寸图)如果服务器报

6、错后启动失败, 应检查上面说的那两个模式是否已加到 slapd.conf 文件中. 再就是, 假如 OpenLDAP 不是安装在默认目录中, 需检验模式文件的路径是否正确. 一旦服务器起来了, 可以来检验我们的安装. 打开另一个命令行窗口并输入命令 ldapsearch -x -b dc=mycompany,dc=com (objectclass=*). 执行的结果应该像下图 2 那样. 图 2. OpenLDAP 正在工作 (点击看全尺寸图)要组装一个目录结构, 需导入一个 LDIF 文件. 要写这种格式的文件是非人所愿的, 因此这里准备好了一个 LDIF 文件供下载. 要导入这个文件, 在

7、命令行下执行 ldapadd -x -D cn=Manager,dc=mycompany,dc=com -W -f setup.ldif, 然后会提示你输入密码, 就是配置在 slapd.conf 文件中的密码. 输入密码之后, 会得到如图 3 所示那样的结果. 图 3. ldapadd 进行中 (点击看全尺寸图)这都非常好, 但是怎么才知道顺利完成了呢? 嗯, 主要是 ldapadd 加入了两个组织单元 (people 和 roles), 三个用户角色 (在 roles OU 下) 和三个用户 (在 people OU 下). 这些用户还被指定为不用的角色. 通过导入 LDIF 文件创建的层

8、级如下: com mycompany people admin jbloggs sspecial roles Admin Users uid=admin/ou=people/. Special Users uid=sspecial/ou=people/. Test Users uid=sspecial/ou=people/. uid=jbloggs/ou=people/. uid=admin/ou=people/. 现在你可以输入另一个 ldapsearch -x -b dc=mycompany,dc=com (objectclass=*) 指令, 这一次的输出会包含一些更有意义的东西了(像用

9、户属和角色成员之类的), 如图 4 所示. 虽然在完全在命令行下敲击指令是足够的, 但是有一个相当好的开源的, Java Swing 界面的 LDAP 浏览器能帮到你,它就是 JXplorer. 图 4. ldapsearch 返回用户和角色 (点击看全尺寸图)JXplorer: 可视化 LDAPJXplorer 是一个 LDAP 浏览器. 它能用来查看、添加、 修改, 和删除目录中的任何元素或属性. 如果必要的话,它甚至可用来修改密码. 安装 JXplorer 并依据你的操作系统运行 jxplorer.bat 或 jxplorer.sh. 运行后,就可使用根用户名和密码连接到你本地的 Ope

10、nLDAP 目录上, 见图 Figure 5 所示. 图 5. JXplorer 连接截屏JXplorer 可用来浏览目录和修改任何值. 在你还未熟悉 LDAP 之前,修改除用户属性 (email, 密码等) 之外的任何信息都要小心些. 看图 6 的例子. 图 6. JXplorer 浏览 LDAP 目录 (点击看全尺寸图)Tomcat 为 OpenLDAP 的配置Servlet 2.3 的规范在对用户进行验证和鉴权时, 允许应用服务器使用容器管理的安全性连接到一个已存在的用户仓库. 然而,还没有一种标准的方式能在不同容器间完成对用户的验证和鉴权. 每一种容器能 (通常就是) 以不同的方式实现

11、. Tomcat 容器用域 (Realm) 的概念来实现这种安全性. Realm 可描述为一个存有用户名和密码的仓库, 它们唯一标识了 web 应用的有效用户. Tomcat 4 容器有四种 Realm 类型, 每一种类型存储和获取是在不同类型的仓库中. JDBCRealm 使用一个关系型数据库. DataSourceRealm 通过 JNDI 连接使用一个关系型数据库. JNDIRealm 使用 JNDI , 通常是使用到一个 LDAP 目录. MemoryRealm 使用内存文件, 常为 tomcat-users.xml.Tomcat 默认的 Realm 是 MemoryRealm, 它是

12、通过 tomcat-users.xml 文件配置的. Tomcat 需要手动去配置使用 JNDIRealm 以允许通过 LDAP 目录来难证用户.配置 Tomcat 使用 JNDIRealm 需要以下几个步骤. 在文件 server.xml 中设置 Realm. 创建一个 JSP 登录表单页. 在 web.xml 文件中设置任意的 来保护资源. 在 web.xml 文件中设置 指示使用登录表单页. 在 web.xml 文件中配置所有的 映射.Tomcat 服务器配置每一个应用可以在各自的 元素中配置自己的 Realm; 这个 realm 仅仅是对该应用是有效的. 然而, realm 也能配置到

13、 或 级别上. 它们对 realm 的行为和范围有影响. 这样允许一个 realm 很容易的在多个应用间共享.这里有一个 server.xml 的 realm, 它允许应用连接到 OpenLDAP.在声明式配置 LDAP 时,userSearch 和 userPattern 属性是最容易产生混淆和错误的地方. 假如你使用其他的 LDAP 服务器应特别注意这些属性.Web 应用配置要完成 Tomcat 对 OpenLDAP 的配置, 应用的 web.xml 文件必须更新的. 提供下载的应用中有 6 个 JSP 页面组成, 其中三个是针对 LDAP 目录中设置的不同角色的受保护资源. 应用必须配置为允许基于 form 的验证,并被告知存在着哪些角色. 首先, 创建一个 login.jsp 文件. 当使用基于 form 的验证时, 这个 JSP 必须包含如下内容. 必须参考新的 OpenLDAP realm 来更新web.xml 文件, 并在其中使用 LDAP 指定的角色. 应用还需要让对 l

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号