1

我想管理如下安全策略。(HTTP基本授权)

  1. 在 URL 之后应用身份验证。“/foo/ ”、“/bar/

  2. 忽略任何其他 URL。(即使请求在标头中有授权字段)

我知道 permitall()。但是 permitall() 不适合,因为当请求在标头中有授权字段时,它会应用安全策略。

4

1 回答 1

1

如果你想忽略特定的 url,那么你需要实现这个方法。

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(final WebSecurity web) throws Exception {
        web.ignoring()
           .antMatchers("/static/**");
    }
}

您可以将您的 url 放在您不希望应用身份验证的/static/ ** 的位置。

您的示例意味着 Spring (Web) Security 忽略了与您定义的表达式匹配的 URL 模式(“/static/**”)。此 URL 被 Spring Security 跳过,因此不安全。

阅读 Spring Security 参考以获取更多详细信息: 单击此处了解 Spring Security 详细信息

于 2020-07-23T15:01:54.713 回答