我对 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 禁止状态。
在我的场景中:
- 如果用户未通过身份验证,则应返回 401 状态代码。
- 如果用户已通过身份验证但未授权,则应返回 403 状态代码。
但默认配置会为这两种情况创建 403 状态。
以下是我的问题:
- 为什么默认入口点是
Http403EntryForbiddenEntryPoint
?可以是401吗? - 如果我将 Http
403
EntryForbiddenEntryPoint 更改为 Http401
EntryForbiddenEntryPoint,是否会产生问题?
谢谢