快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
ue>ou</value> </property> <property name="searchSubtree"> <value>true</value> </property> </bean>

在清单 7 中,populator bean 的构造函数包括 2 个参数,以及一个 groupRoleAttribute 属性。构造函数的第一个参数指定了 populator bean 用 来读取经过验证用户的业务角色的初始上下文。并不强制要求 authenticator 和 populator bean 使用相同的初始上下文。您可以为这两者分别配置一个初始 上下文。

第二个构造函数参数指定了 populator 前加到初始上下文的 RDN。因此, RDN 组成了包含组用户的节点的 DN,例如 departments 节点。

populator bean 的 groupRoleAttribute 属性指定了持有组成员业务角色数 据的属性。回想 设置 LDAP 目录 一节中,您将每组用户的业务角色信息存储在 名为 ou 的属性中。然后将 ou 设置为 groupRoleAttribute 属性的值,如 清 单 7 所示。

如您所料,populator bean 将搜索整个 LDAP 目录来查找经过验证的用户所 属的组节点。然后读取组节点的 ou 属性的值,获取用户经过授权的业务角色。

这样就完成了 populator bean 的配置。目前为止,我们在三个位置使用了 初始上下文:清单 5、清单 6 和 清单 7。接下来将了解如何配置初始上下文。

配置初始上下文

清单 8 展示了在 Acegi 中配置初始上下文的过程:

清单 8. 初始上下文的 XML 配置

<bean id="initialDirContextFactory" class="org.acegisecurity.ldap.DefaultInitialDirContextFactory"> <constructor-arg  value="ldap://localhost:389/o=manufacturingEnterprise,dc=org"/> <property name="managerDn"> <value>cn=manager,o=manufacturingEnterprise,dc=org</value> </property> <property name="managerPassword"> <value>secret</value> </property> </bean>

清单 8 中 Acegi 的初始上下文类的名称为 org.acegisecurity.ldap.DefaultInitialDirContextFactory,这是 Acegi 包 含的工厂类。Acegi 在内部使用该类构造其他处理目录操作(例如在整个目录中 搜索)的类的对象。当配置初始上下文工厂时,必须指定以下内容:

将您的 LDAP 目录和根目录节点的网络地址指定为构造函数的参数。在初始 上下文配置的节点将作为根节点。就是说所有后续操作(例如 search)都将在 根节点定义的子树中执行。

将 DN 和密码分别定义为 managerDn 和 managerPassword 属性。在执行任 何搜索操作之前,Acegi 必须使用目录服务器对 DN 和密码进行身份验证。

您已经了解了如何将用户库托管在 LDAP 目录中,以及如何配置 Acegi 来使 用来自 LDAP 目录的信息对用户进行身份验证。下一节将进一步介绍 Acegi 的 身份验证处理过滤器,了解新配置的 bean 是如何管理身份验证过程的。

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

时间:2011-09-07 ibm Bilal Siddiqui

身份验证和授权

APF 配置完成后,将能够与 LDAP 目录进行通信来对用户进行身份验证。如 果您阅读过第 1 部分,那么对与目录通信过程中 APF 执行的一些步骤不会感到 陌生,我在第 1 部分中向您展示了过滤器如何使用不同的服务进行用户身份验 证。图 5 所示的序列表与您在 第 1 部分图 3 看到的非常类似:

图 5. APF 对一名 LDAP 用户进行身份验证

无论 APF 使用属性文件进行内部的身份验证还是与 LDAP 服务器进行通信, 步骤 1 到步骤 9 与第 1 部分是相同的。这里简单描述了前 9 个步骤,您可以 从步骤 10 开始继续学习特定于 LDAP 的事件:

过滤器链前面的过滤

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号