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中使用它的话。
41.5.2 <ldap-authentication-provider> LDAP-身份验证-提供商
这个元素是创建LdapAuthenticationProvider实例的简写。默认情况下,这将配置一个绑定验证器BindAuthenticator
实例和一个默认验证器填充器DefaultAuthoritiesPopulator。与所有命名空间身份验证提供程序一样,它必须作为身份验证提供程序authentication-provider元素的子元素包含在内。
<ldap-authentication-provider> Attributes
41.5.4 <ldap-user-service>
此元素配置一个LDAP用户详细信息服务。所用的类是LdapUserDetailsService,它是一个FilterBasedLdapUserSearch和一个DefaultLdapAuthoritiesPopulator填充器的组合。它支持的属性与< ldap-provider >中的属性用法相同。
<ldap-user-service> Attributes