快速业务通道

使用Acegi保护Java应用程序,第2部分: 使用LDAP目录服务器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
和工资信息。为 简单起见,下面的例子将只向您展示如何保存用户名和密码。

如前所述,示例使用 ApacheDS(一种开源的 LDAP 目录服务器)演示了 Acegi 是如何使用 LDAP 目录的。示例还使用了一个开源的 LDAP 客户机(名为 JXplorer)执行简单的目录操作,例如将信息托管在 ApacheDS 上。

在 ApacheDS 创建一个根节点

要创建 图 1 所示的节点树,必须首先在 ApacheDS 中创建一个根节点 org 。ApacheDS 为此提供了一个 XML 配置文件。XML 配置文件定义了一组可进行配 置的 bean,从而根据应用程序的需求定制目录服务器的行为。本文只解释创建 根节点所需的配置。

可以在 ApacheDS 安装中的 conf 文件夹找到名为 server.xml 的 XML 配置 文件。打开文件后,会发现很多 bean 配置类似于 Acegi 的过滤器配置。查找 名为 examplePartitionsConfiguration 的 bean。该 bean 控制 ApacheDS 上 的分区。当创建新的根节点时,实际上将在 LDAP 目录上创建一个新的分区。

编辑 examplePartitionConfiguration bean 以创建 org 根节点,如清单 1 所示:

清单 1. 编辑模式的 examplePartitionConfiguration bean 配置

<bean id="examplePartitionConfiguration" class= "org.apache.directory.server.core.partition.impl.btree.MutableBTreePar titionConfiguration" > <property  name="suffix"><value>dc=org</value></property> <property name="contextEntry"> <value> objectClass: top objectClass: domain dc: org </value> </property> <!-- Other properties of the examplePartitionConfiguration  bean, which you don''t need to edit. --> </bean>

清单 1 编辑了 examplePartitionConfiguration bean 的两个属性:

一个属性名为 suffix,它定义根条目的 DN。

另一个属性名为 contextEntry,定义 org 节点将使用的对象类。注意,org 根节点使用两个对象类:top 和 domain。

本文的 源代码下载 部分包含了编辑模式的 server.xml 文件。如果希望继 续学习本示例,请将 server.xml 文件从源代码中复制到您的 ApacheDS 安装目 录中的正确位置,即 conf 文件夹。

图 3 所示的屏幕截图展示了在 ApacheDS 中创建根节点后,JXplorer 是如 何显示该根节点的:

图 3. JXplorer 显示根节点

使用Acegi保护Java应用程序,第2部分: 使用LDAP目录服务器(4)

时间:2011-09-07 ibm Bilal Siddiqui

填充服务器

设置 LDAP 服务器的下一步是使用用户和组信息填充服务器。您可以使用 JXplorer 在 ApacheDS 中逐个创建节点,但是使用 LDAP Data Interchange Format (LDIF) 填充服务器会更加方便。LDIF 是可被大多数 LDAP 实现识别的 常见格式。developerWorks 文章很好地介绍了 LDIF 文件的内容,因此本文将 不再做详细说明。

您可以在 源代码下载 部分查看 LDIF 文件,它表示 图 1 所示的用户和部 门。您可以使用 JXplorer 将 LDIF 文件导入到 ApacheDS。要导入 LDIF 文件 ,在 JXplorer 中使用 LDIF 菜单,如图 4 所示:

图 4. 将 LDIF 文件导入到 ApacheDS

将 LDIF 文件导入到 ApacheDS 之后,JXplorer 将显示用户节点和部门节点 树,如 图 1 所示。现在您可以开始配置 Acegi,使其能够与您的 LDAP 服务器 通信。

为 LDAP 实现配置 Acegi

回想一下第 1 部分,其中 Acegi 使用身份验证处理过滤器 (Authentication Processing Filter,APF)进行身份验证。APF 执行所有后 端身份验证处理任务,例如从客户机请求中提取用户名和密码,从后端用户库读 取用户参数,以及使用这些信息对用户进行身份验

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号