首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

奇怪,Spring Security 登录成功后总是获取不到登录用户信息?

1.问题复现 如果使用了 Spring Security,当我们登录成功后,可以通过如下方式获取到当前登录用户信息: SecurityContextHolder.getContext().getAuthentication...这样就带来一个问题,当不同的请求进入到服务端之后,由不同的 thread 去处理,按理说后面的请求就可能无法获取到登录请求的线程存入的数据,例如登录请求在线程 A 中将登录用户信息存入 ThreadLocal...搞明白这一点之后,再去解决 Spring Security 登录后无法获取到当前登录用户这个问题,就非常 easy 了。...configure(WebSecurity web) throws Exception { web.ignoring().antMatchers("/css/**","/js/**","/index.html...「如果放在这里,登录请求将不走 SecurityContextPersistenceFilter 过滤器,也就意味着不会将登录用户信息存入 session,进而导致后续请求无法获取到登录用户信息。」

7.5K61

解决SpringSecurity手动退出登录后再次登录成功会重定向到登录界面的问题

在使用SpringSecurity时遇到一个奇怪的问题,就是: 当用户主动点击退出按钮后,跳转到登录界面,这个时候进行登录操作。...虽然登录成功,却还是停留在的登录界面(其实已经登录成功,如果手动修改URL地址能够正常进入到需要登录才能进入的界面),并且浏览器地址后面追加了?...logout-success-url 指定成功退出登录后要重定向的 URL。需要注意的是对应的 URL 应当是不需要登录就可以访问的。...success-handler-ref 指定用来处理成功退出登录的 LogoutSuccessHandler 的引用。...由于我在项目中并没有配置退出登录后重定向的URL,但SpringSecurity支持登录成功跳回到退出之前的界面的逻辑,这就导致了再次点击登录后,登录成功重新跳回到了“退出地址界面”,而并没有真正的退出

2.6K10
领券