我将以下 Java Config 与 Spring Security 一起使用:
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.httpBasic();
}
基于此配置,所有请求都经过身份验证。当您在未经过身份验证的情况下点击控制器时,AnonymousAuthenticationFilter
将为您创建一个 Authentication 对象username=anonymousUser, role=ROLE_ANONYMOUS
。
我正在尝试提供对特定控制器方法的匿名访问,并尝试使用以下各项:
@Secured("ROLE_ANONYMOUS")
@Secured("IS_AUTHENTICATED_ANONYMOUSLY")
当控制器方法被调用时,会给出以下响应:“HTTP 状态 401 - 需要完全身份验证才能访问此资源”
有人可以帮我理解为什么我们会收到此消息以及为什么ROLE_ANONYMOUS
/IS_AUTHENTICATED_ANONYMOUSLY
似乎无法使用此配置吗?
谢谢,
JP