WEB开发网
开发学院软件开发Java 使用 Acegi 保护 Java 应用程序,第 2 部分: 使用... 阅读

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

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 目前为止,只知道 initialDirContextFactory bean 的作用就是为稍后的搜索操作指定初始上下文,使用 Acegi 保护 Java 应用程序,第 2 部分: 使用 LDAP 目录服务器(10),初始上下文是一个 DN,它指定了 LDAP 目录内某个节点,它的 DN 是 ui

目前为止,只知道 initialDirContextFactory bean 的作用就是为稍后的搜索操作指定初始上下文。初始上下文是一个 DN,它指定了 LDAP 目录内某个节点。指定初始上下文后,将在该节点的子节点中执行所有的搜索操作(例如查找特定用户)。

例如,回到 图 2 中查看 partners 节点,它的 DN 是 ou=partners,o=manufacturingEnterprise,dc=org。如果将 partners 节点指定为初始上下文,Acegi 将只在 partners 节点的子节点中查找用户。

指定 DN 模式

除配置 BindAuthenticator 构造函数外,还必须配置 authenticator bean 的两个属性(清单 5 中的两个 <property> 标记)。

第一个 <property> 标记定义了一个 userDnPatterns 属性,它封装了一个或多个 DN 模式列表。DN 模式 指定了一组具有类似特性的 LDAP 节点(例如 图 2 所示的 employees 节点的所有子节点)。

Acegi 的身份验证器从 authenticator bean 的 userDnPatterns 属性中配置的每个 DN 模式构造了一个 DN。例如,查看 清单 5 中配置的第一个模式,即 uid={0},ou=employees,ou=partners。在进行身份验证的时候,authenticator bean 使用用户提供的用户名(比如 alice)替换了 {0}。使用用户名取代了 {0} 之后,DN 模式将变为相对 DN(RDN)uid=alice,ou=employees,ou=partners,它需要一个初始上下文才能成为 DN。

例如,查看 图 2 中的 alice's 条目。该条目是 employees 节点的第一个子节点。它的 DN 是 uid=alice,ou=employees,ou=partners,o=manufacturingEnterprise, dc=org。如果使用 o=manufacturingEnterprise,dc=org 作为初始上下文并将其添加到 RDN uid=alice,ou=employees,ou=partners 之后,将获得 alice 的 DN。

上一页  5 6 7 8 9 10 

Tags:使用 Acegi 保护

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接