春天安全HttpSecurity

时间:2014-01-14 15:56:12

标签: java spring maven spring-mvc spring-security

我在这里关注Spring Security指南,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<org.springframework.security.config.annotation.web.builders.HttpSecurity>.ExpressionInterceptUrlRegistry已不再使用方法formLogin

知道我哪里出错了吗?

1 个答案:

答案 0 :(得分:4)

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

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

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