Spring 安全使用 JBoss <security-domain>

Spring Security using JBoss <security-domain>

我正在使用 Spring 安全和基于 Java 的@Configuration 构建应用程序。我们的 JBoss EAP 6 服务器有一个 security-domain 配置,它在 jboss-web.xml-File.

中定义

jboss-web.xml

<!DOCTYPE jboss-web PUBLIC
    "-//JBoss//DTD Web Application 4.2//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
<jboss-web>
    <security-domain>ldapcomponent</security-domain> 
</jboss-web>

有没有办法在我的 Spring Security WebSecurityConfigurerAdapter 中使用这个 security-domain

Spring 安全性 Java 配置

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.?????
    }

    @Override
    protected void configure(final HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().authenticated()
            .anyRequest().hasRole("my-required-role").and().httpBasic();
    }
}

JBoss 身份验证需要

org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider

可以通过方法添加:

auth.authenticationProvider(...);

除此之外还有一个

org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter 

应该注册了。