LDAP 的 Spring Security Java 配置
Posted
技术标签:
【中文标题】LDAP 的 Spring Security Java 配置【英文标题】:Spring Security Java Config for LDAP 【发布时间】:2014-12-30 11:42:13 【问题描述】:如何设置 Spring Security LDAP 配置的 URL? 有很多基于 xml 的示例,但我找不到一个 java config 示例来复制下面的 xml 行。我假设它是在下面的 java 代码块中配置的,该代码块取自使用嵌入式 ldap 的 spring 指南,但是我们如何设置外部 url?
<ldap-server id="ldapServer" url="ldap://example.com:PORT/dc=example,dc=com" />
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception
auth.ldapAuthentication()
.userDnPatterns("uid=0,ou=people")
.groupSearchBase("ou=groups")
.contextSource()
.ldif("classpath:test-server.ldif");
【问题讨论】:
【参考方案1】:您只需使用LdapAuthenticationProviderConfigurer.ContextSourceBuilder
的url()
方法
所以你可以简单地扩展你的代码如下:
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception
auth.ldapAuthentication()
.userDnPatterns("uid=0,ou=people")
.groupSearchBase("ou=groups")
.contextSource()
.ldif("classpath:test-server.ldif")
.url("ldap://example.com:PORT/dc=example,dc=com");
【讨论】:
给出使用 .ldif() 的例子对任何人来说都是毫无用处的。每个教程都依赖它,它不能解决任何人的问题。以上是关于LDAP 的 Spring Security Java 配置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 spring-security-core-ldap 插件在 grails 中实现 LDAP 身份验证?
Grails,Spring Security LDAP 插件
使用 Spring Security 的 ldap 身份验证
如何使用带有 LDAP 的 Spring Security 获取用户信息