HttpSecurity配置 - 允许所有仍然需要基本的身份验证

时间:2016-03-27 21:33:51

标签: java spring spring-mvc spring-security

我试图将不安全的控制器端点/foo/bar添加到我的应用程序中,但每当我尝试调用它时,我都会401 Unauthorized

这是我的WebSecurityConfigurerAdapter

http
    .authorizeRequests()
        .antMatchers("/foo/**").permitAll()
    .and()
    .formLogin()
        .loginPage("/login").permitAll()
    .and()
    .requestMatchers()
        .antMatchers("/login", "/oauth/authorize", "/oauth/confirm_access")
    .and()
    .authorizeRequests()
        .anyRequest().authenticated();

请小姐指出我错过了什么?

2 个答案:

答案 0 :(得分:4)

在一个antMatchers部分中连接多个authorizeRequests

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

答案 1 :(得分:1)

我不确定hierarchyconfig的内容是什么,但它看起来并不正确。

尝试:

http
    .formLogin()
        .loginPage("/login")
        .and()
    .authorizeRequests()
        .antMatchers("/foo/**").permitAll()
        .anyRequest().authenticated();