Spring Security:从登录用户触发的操作中获得SecurityContext的AnonymousAuthenticationToken

时间:2019-06-07 06:43:44

标签: spring-security

我们保留有关在系统中执行某些特定操作的用户的信息。要获取此信息,我们称为SecurityContextHolder.getContext().getAuthentication()

那很好,但是这段代码偶尔会返回AnonymousAuthenticationToken,这很奇怪,因为此操作仅在被登录用户,没有调度程序等触发之后才执行。

在任何情况下,这种行为是合理的还是有人知道会导致这种情况的原因?正如我所说的那样,这种情况很少发生,大多数情况下都可以正常工作。

1 个答案:

答案 0 :(得分:0)

当您拥有AnonymousAuthenticationToken时,表示AnonymousAuthenticationFilterSecurityContext中注册了令牌。因此,filter chain中之前的每个过滤器均未验证请求。您应该检查哪些请求正正是导致上述行为的原因,对于这些请求,您的WebSecurityConfigurer可能配置不正确。

相关问题