快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
证。

您在第 1 部分中为属性文件实现配置了 APF,现在您已将用户库存储在 LDAP 目录中,因此必须使用不同的方式配置过滤器来和 LDAP 目录进行通信。 首先看一下清单 2,它展示了在第 1 部分中的 “Authentication Processing Filter” 一节中如何为属性文件实现配置 APF 过滤器:

清单 2. 为属性文件配置 APF

<bean id="authenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter"> <property name="authenticationManager"  ref="authenticationManager" /> <property name="authenticationFailureUrl" value="/login.jsp?login_error=1" /> <property name="defaultTargetUrl" value="/index.jsp" /> <property name="filterProcessesUrl" value="/j_acegi_security_check" /> </bean>

查看一下清单 2,您曾经为 APF 提供了 4 个参数。您只需在 LDAP 服务器 中为存储重新配置第一个参数(authenticationManager)即可。其他三个参数 保持不变。

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

时间:2011-09-07 ibm Bilal Siddiqui

配置身份验证管理器

清单 3 展示了如何配置 Acegi 的身份验证管理器,以实现与 LDAP 服务器 的通信:

清单 3. 为 LDAP 配置 Acegi 的身份验证管理器

<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager"> <property name="providers"> <list> <ref local="ldapAuthenticationProvider" /> </list> </property> </bean>

在清单 3 中,org.acegisecurity.providers.ProviderManager 是一个管理 器类,它管理 Acegi 的身份验证过程。为此,身份验证管理器需要一个或多个 身份验证提供者。您可以使用管理器 bean 的提供者属性来配置一个或多个提供 者。清单 3 只包含了一个提供者,即 LDAP 身份验证提供者。

LDAP 身份验证提供者处理所有与后端 LDAP 目录的通信。您必须对其进行配 置,下一节内容将讨论该主题。

配置 LDAP 身份验证提供者

清单 4 展示了 LDAP 身份验证提供者的配置:

清单 4. 配置 LDAP 身份验证提供者

<bean id="ldapAuthenticationProvider" class="org.acegisecurity.providers.ldap.LdapAuthenticationProvider"> ; <constructor-arg><ref  local="authenticator"/></constructor-arg> <constructor-arg><ref  local="populator"/></constructor-arg> </bean>

注意 LDAP 身份验证提供者类的名称为 org.acegisecurity.providers.ldap.LdapAuthenticationProvider 。其构造函 数包含两个参数,使用两个 <constructor-arg> 标记的形式,如清单 4 所示。

LdapAuthenticationProvider 构造函数的第一个参数是 authenticator,该 参数通过检查用户的用户名和密码对 LDAP 目录的用户进行身份验证。完成身份 验证后,第二个参数 populator 将从 LDAP 目录中检索有关该用户的访问权限 (或业务角色)信息。

以下小节将向您展示如何配置验证器和填充器 bean。

配置验证器

authenticator bean 将检查具有给定用户名和密码的用户是否存在于 LDAP 目录中。Acegi 提供了名为 org.acegisecurity.providers.ldap.authenticator.BindAuthenticator 的验 证器类,它将执行验证用户名和密码所需的功能。

使用A

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