41.5 LDAP Namespace Options LDAP命名空间选项

LDAP在它自己的章节中有详细介绍。我们将在这里进一步解释命名空间选项如何映射到Spring beans。LDAP实现广泛使用了Spring LDAP,所以熟悉一下该项目的应用编程接口可能会有所帮助。

41.5.1 Defining the LDAP Server using the使用定义LDAP服务器

< ldap-server>元素,此元素设置一个供其他LDAP beans使用的Spring LDAP上下文源,定义LDAP服务器的位置和连接到它的其他信息(如用户名和密码,如果它不允许匿名访问)。它也可以用来创建一个嵌入式服务器进行测试。这两个选项的语法细节将在“LDAP”一章中介绍。实际的上下文源 ContextSource 实现是DefaultSpringsecurityContextSource,它扩展了Spring LDAP的 LdapContextSource 。管理器Dn和管理器密码属性分别映射到后者的用户dn和密码属性。
 
如果您的应用程序上下文中只定义了一个服务器,其他LDAP命名空间定义的beans将自动使用它。否则,您可以给元素一个“id”属性,并使用server-ref属性从其他名称空间beans引用它。这实际上是ContextSource实例的bean id,如果您想在其他传统的Spring beans中使用它的话。

Attributes

  • id 一个bean标识符,用于引用上下文中其他地方的bean。
  • ldif 明确指定要加载到嵌入式LDAP服务器中的ldif文件资源。ldiff应该是Spring资源模式(即类路径:init.ldiff)。默认为类路径*:*。ldiff
  • manager-dn “管理员”用户身份的用户名(DN),用于向(非嵌入式)LDAP服务器进行身份验证。如果省略,将使用匿名访问。
  • manager-password 管理器域名的密码。如果指定了manager-dn,则这是必需的。
  • port 指定一个IP端口号。例如,用于配置嵌入式LDAP服务器。默认值为33389。
  • root 嵌入式LDAP服务器的可选根后缀。默认为“dc=springframework,dc=org”
  • url 指定不使用嵌入式ldap服务器时的LDAP服务器URL。

41.5.2  LDAP-身份验证-提供商

这个元素是创建LdapAuthenticationProvider实例的简写。默认情况下,这将配置一个绑定验证器 BindAuthenticator 实例和一个默认验证器填充器DefaultAuthoritiesPopulator。与所有命名空间身份验证提供程序一样,它必须作为身份验证提供程序authentication-provider元素的子元素包含在内。

Attributes

  • group-role-attribute 包含将在spring安全中使用的角色名称的LDAP属性名称。映射到默认的DefaultLdapAuthoritiesPopulator组角色属性groupRoleAttribute 。默认为“cn”。
  • group-search-base 成员搜索的搜索基础。映射到默认的组搜索基础DefaultLdapAuthoritiesPopulator's groupSearchBase 构造函数参数。默认为" "(从根目录搜索)。
  • group-search-filter 群组搜索过滤器。映射到默认的组搜索过滤器DefaultLdapAuthoritiesPopulator's groupSearchFilter 属性。默认为(uniqueMember={0})。替代参数是用户的域名。
  • role-prefix 一个非空的字符串前缀,它将被添加到从持久性加载的角色字符串中。映射到DefaultLdapAuthoritiesPopulator填充程序的角色前缀rolePrefix属性。默认为“ROLE_”。在默认值为非空的情况下,使用值“none”表示没有前缀。
  • server-ref 要使用的可选服务器。如果省略,并且注册了默认的LDAP服务器(使用不带标识的< ldap-server >),将使用该服务器。
  • user-context-mapper-ref 允许通过指定一个用户详细信息文本映射器bean来显式自定义加载得用户对象,该bean将使用来自用户目录条目得上下文信息来调用.
  • user-details-class 允许指定用户条目的对象类。如果设置,框架将尝试将已定义类的标准属性加载到返回的用户详细信息对象中
  • user-dn-pattern 如果您的用户位于目录中的固定位置(即,您可以直接从用户名计算出域名,而无需进行目录搜索),您可以使用此属性直接映射到域名。它直接映射到抽象身份验证器的用户模式属性。该值是用于构建用户的DN的特定模式,例如“uid={0},ou =人员”。密钥“{0}”必须存在,并将被用户名替换。
  • user-search-base 用户搜索的搜索基础。默认为" "。仅与“用户搜索过滤器”一起使用。 如果您需要执行搜索来定位目录中的用户,那么您可以设置这些属性来控制搜索。BindAuditor将配置一个FilterBasedLdapUserSearch,属性值直接映射到该bean的构造函数的前两个参数。如果没有设置这些属性,并且没有提供用户-dn-pattern作为替代,则将使用user-search-filter="(uid={0})"和user-search-base= " "的默认搜索值。

  • user-search-filter 于搜索用户的LDAP筛选器(可选)。例如“(uid={0})”。替代参数是用户的登录名。 如果您需要执行搜索来定位目录中的用户,那么您可以设置这些属性来控制搜索。BindAuditor将配置一个FilterBasedLdapUserSearch,属性值直接映射到该bean的构造函数的前两个参数。如果没有设置这些属性,并且没有提供用户-dn-pattern作为替代,则将使用user-search-filter="(uid={0})"和user-search-base= " "的默认搜索值。

Child Elements of

  • password-compare

41.5.3 

被用作< ldap-provider >的子元素,并将身份验证策略从绑定身份验证器BindAuthenticator 切换到密码比较身份验证器PasswordComparisonAuthenticator。

Attributes

  • hash 定义用于用户密码的哈希算法。我们强烈建议不要使用MD4,因为它是一个非常弱的哈希算法。
  • password-attribute 目录中包含用户密码的属性。默认为“用户密码”。

Child Elements of

  • password-encoder
 

41.5.4 

此元素配置一个LDAP用户详细信息服务。所用的类是LdapUserDetailsService,它是一个FilterBasedLdapUserSearch和一个DefaultLdapAuthoritiesPopulator填充器的组合。它支持的属性与< ldap-provider >中的属性用法相同。
 

Attributes

  • cache-ref 定义对缓存的引用,供用户详细信息服务使用。
  • group-role-attribute 包含将在春季安全中使用的角色名称的LDAP属性名称。默认为“cn”。
  • group-search-base 群组成员搜索的搜索基础。默认为" "(从根目录搜索)。
  • group-search-filter 群组搜索过滤器。默认为(uniqueMember={0})。替代参数是用户的域名。
  • id 一个bean标识符,用于引用上下文中其他地方的bean。
  • role-prefix 一个非空的字符串前缀,将被添加到从永久存储中加载的角色字符串中(例如,“ROLE_”)。在默认值为非空的情况下,使用值“无”表示没有前缀。
  • server-ref 一个非空的字符串前缀,将被添加到从永久存储中加载的角色字符串中(例如,“ROLE_”)。在默认值为非空的情况下,使用值“无”表示没有前缀。
  • user-context-mapper-ref 要使用的可选服务器。如果省略,默认的LDAP允许通过指定用户详细信息文本映射器bean来显式自定义加载的用户对象,该bean将使用用户目录条目中的上下文信息来调用
  • user-details-class 允许指定用户条目的对象类。如果设置,框架将尝试将已定义类的标准属性加载到返回的用户详细信息对象中
  • user-search-base 用户搜索的搜索基础。默认为" "。仅与“user-search-filter”一起使用。
  • user-search-filter 用于搜索用户的LDAP筛选器(可选)。例如“(uid={0})”。替代参数是用户的登录名。
 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(41.5 LDAP Namespace Options LDAP命名空间选项)