Spring Security 使用 JBoss <security-domain>

Posted

技术标签:

【中文标题】Spring Security 使用 JBoss <security-domain>【英文标题】:Spring Security using JBoss <security-domain> 【发布时间】:2015-03-26 03:51:33 【问题描述】:

我正在使用 Spring Security 和基于 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 Security 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();
    

【问题讨论】:

【参考方案1】:

JBoss 身份验证需要一个

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

可以通过方法添加:

auth.authenticationProvider(...);

除此之外

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

应该注册。

【讨论】:

如何设置使用 JBoss 安全域的 PreAuthenticatedAuthenticationProvider?

以上是关于Spring Security 使用 JBoss <security-domain>的主要内容,如果未能解决你的问题,请参考以下文章

java.security.NoSuchAlgorithmException:在 jboss 上部署时 AES KeyGenerator 不可用

Javaee Jboss j_security_check 登录总是失败

j_security_check 过滤器在 jboss eap 6.4 中不起作用

Jboss 7 - Spring - 使用 Jboss TransactionManager

使用 JBoss 的 Mbean

Spring + Jboss7 @Transactional 不工作