0

在使用 spring 4.1.6、spring security 4.0.1 和 JavaConfig 的 JBOSS EAP 6 上运行的 Web 应用程序中,我们试图实现 LDAP 身份验证,而不是在配置中定义 LDAP 服务器的属性(url 等) (AuthenticationManagerBuilder auth) 方法我们想从 JBOSS 安全域中获取属性,该域已经在容器上配置并具有所有需要的属性。

我们尝试了几件事并在网上搜索了实现此目的的方法,但无法找到解决方案。

这是我们目前拥有的:

/WEB-INF/jboss-web.xml: jboss-web 安全域 java:/jaas/ad-ldap 安全域 jboss-web

安全配置类:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().realmName("ad-ldap");
http.formLogin().loginPage("/login").loginProcessingUrl("/loginProcess");
}

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
    .userSearchBase("OU=users,DC=local")
    .userSearchFilter("(sAMAccountName={0})")
    .groupSearchBase("OU=groups,DC=local")
    .groupSearchFilter("sAMAccountName={0}");
}
}

谢谢

4

1 回答 1

0

您只需要在独立 XML 的安全域中定义 LDAP 服务器 URL。

http://www.mastertheboss.com/jboss-server/jboss-security/configure-jboss-with-ldap?start=1 但请注意,在上面的示例中,web.xml 中的领域名称元素应该是:

<realm-name>LDAPAuth</realm-name>

https://docs.jboss.org/author/display/WFLY8/Examples

于 2015-10-01T08:08:33.983 回答