SpringSecurity 自定义多种登录方式,登录成功后为什么没有认证信息?
2023-11-23 阅读 91
Spring Security 默认情况下,登录成功后会将认证信息存储在一个称为 SecurityContext 的地方。在后续的请求中,可以通过 SecurityContextHolder 获取当前用户的认证信息。
如果你自定义了多种登录方式,那么可能是因为你的自定义登录方式没有正确地设置认证信息。在自定义登录方式的处理逻辑中,你需要手动创建一个认证对象并将其设置到 SecurityContext 中。
具体的实现方式取决于你使用的是哪种认证方式,但一般来说,你可以通过创建一个 Authentication 对象,设置相应的认证信息,然后将其设置到 SecurityContextHolder 中。例如,使用用户名和密码进行认证的方式,可以使用 UsernamePasswordAuthenticationToken 类来创建认证对象。
如果你能提供更多的代码和配置信息,我可以帮助你更具体地解决问题。
更新于 2023年11月23日