首页 文章

Spring 天安全HttpSecurity

提问于
浏览
2

我正在从这里关注Spring安全指南,http://docs.spring.io/spring-security/site/docs/3.2.0.RELEASE/reference/htmlsingle/#jc-httpsecurity

我在我的pom.xml中设置了这些

<dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>3.2.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>3.2.0.RELEASE</version>
    </dependency>

在我的安全配置类中

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

我有

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

HttpSecurity具有formLogin方法,但是以authorizeRequests()开头的其他调用返回类型
org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry,它不再具有formLogin方法 .

知道我哪里错了吗?

1 回答

  • 4

    尝试更改顺序,以便首先显示表单登录配置:

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

    编辑:将“.and”更改为“.and()”

相关问题