为什么Spring Security异常翻译过滤器为默认配置创建403响应代码

时间:2013-07-25 11:09:21

标签: spring-security

我是Spring Security的新手。我正在使用Spring servletApi()的编程配置,这非常简洁。

以下是配置:

  @Override
   protected void configure(HttpSecurity http) throws Exception {
      http
         .securityContext().and()
         .servletApi().and()
         .authorizeUrls()
         .antMatchers("/login").permitAll()
         .antMatchers("/").permitAll()
         .antMatchers("/**").authenticated();
   }

我正在使用http servlet api登录我没有使用任何过滤器。

如果是未经授权的请求,ExceptionTranslationFilter使用Http403EntryForbiddenEntryPoint返回403禁止状态。

在我的场景中:

  1. 如果用户未通过身份验证,则应返回401状态代码。
  2. 如果用户已通过身份验证但未获得授权,则应返回403状态代码。
  3. 但默认配置会为两种情况创建403状态。

    以下是我的问题:

    1. 为什么默认入口点为Http403EntryForbiddenEntryPoint?它可以是401?
    2. 如果我将Http 403 EntryForbiddenEntryPoint更改为Http 401 EntryForbiddenEntryPoint,是否会产生问题?
    3. 谢谢

0 个答案:

没有答案