Spring安全性重定向到基于Java的配置的登录表单

时间:2015-03-13 10:18:56

标签: java spring spring-mvc spring-security

我正在尝试为任何未经过身份验证的请求配置基于Java的Spring Security重定向到登录页面,并且当前具有以下配置:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity security) throws Exception {
        security
                .ignoring()
                    .antMatchers("/resources/**")
                ;
    }

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity
                .formLogin()
                    .loginPage("/login").permitAll()
                .and()
                .authorizeRequests()
                    .anyRequest().authenticated()
                ;

    }
}

在实现WebApplicationInitializer的类中,我有以下内容:

AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(SecurityConfig.class);
container.addListener(new ContextLoaderListener(rootContext));

configure(HttpSecurity httpSecurity)方法中设置断点显示该方法在启动时被调用,但没有请求被重定向到/login

1 个答案:

答案 0 :(得分:0)

为有类似问题的其他人回答我自己的问题。解决方案是添加一个扩展AbstractSecurityWebApplicationInitializer的新空类,如下所示:

public class SecurityApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
    // Nothing
}