springSecurity注销登录SecurityContextHolder.getContext().getAuthentication.getPrincipal() 为anonymousUser
gpt解释:
在 Spring Security 中,当用户注销登录后,如果你的 SecurityContextHolder.getContext().getAuthentication().getPrincipal()
返回 "anonymousUser",这表示用户已经成功注销并且没有有效的认证信息,因此匿名用户取代了之前的认证主体。
在 Spring Security 中,即使用户注销,SecurityContextHolder
仍然会保持一个 SecurityContext
对象,但是这时的 Authentication
对象将会被置为一个表示匿名用户的 AnonymousAuthenticationToken
对象,其 principal 名称通常为 "anonymousUser"。这是为了确保在用户注销后仍然能够保持一定程度的安全性。
因此,当你调用 SecurityContextHolder.getContext().getAuthentication().getPrincipal()
时返回 "anonymousUser",这意味着当前用户已注销登录,不再具有有效的身份认证信息。
所以返回 "anonymousUser"说明SecurityContextHolder里面没有认证的用户,原因是我在用postman测试的时候,没有携带token,SecurityContextHolder里面没有认证的用户