1

我对 Spring Security 领域还很陌生。我正在使用 Spring Security 的编程配置,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 login 我没有为此使用任何过滤器。

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

在我的场景中:

  1. 如果用户未通过身份验证,则应返回 401 状态代码。
  2. 如果用户已通过身份验证但未授权,则应返回 403 状态代码。

但默认配置会为这两种情况创建 403 状态。

以下是我的问题:

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

谢谢

4

0 回答 0