SecurityContextHolder
全部标签 我使用Spring异步调用一个方法,使用@Async.这个方法调用另一个用@PreAuthorize注释的方法。,Spring安全注解。为了使授权工作,我必须设置SecurityContextHolder模式为MODE_INHERITABLETHREADLOCAL,以便将身份验证信息传递给异步调用。到目前为止一切正常。但是,当我注销并以其他用户身份登录时,SecurityContextHolder在异步方法中存储已注销的旧用户的身份验证信息。它当然会导致不需要的AccessDenied异常(exception)。同步调用不存在这样的问题。我已经定义了,那么执行器池中的线程一旦初始化就不
我使用Spring异步调用一个方法,使用@Async.这个方法调用另一个用@PreAuthorize注释的方法。,Spring安全注解。为了使授权工作,我必须设置SecurityContextHolder模式为MODE_INHERITABLETHREADLOCAL,以便将身份验证信息传递给异步调用。到目前为止一切正常。但是,当我注销并以其他用户身份登录时,SecurityContextHolder在异步方法中存储已注销的旧用户的身份验证信息。它当然会导致不需要的AccessDenied异常(exception)。同步调用不存在这样的问题。我已经定义了,那么执行器池中的线程一旦初始化就不
我有一个典型的SpringMVC在Tomcat上运行。将系统切换为在HTTPS上运行(在纯HTTP下一切正常)后,登录停止工作。原因是Spring的SecurityContextHolder.getContext().getAuthentication()对象在使用RedirectView后变成了null。我已经搜索过答案,我发现的唯一一个建议在viewResolverbean设置中将属性redirectHttp10Compatible设置为false。这没有帮助。我还检查了在整个重定向过程中,我的sessionID保持不变并且连接保持安全,即它不是http和https之间的更改(至少
我从SecurityContextHolder检索到的Userprincipal是否绑定(bind)到请求或session?UserPrincipalprincipal=(UserPrincipal)SecurityContextHolder.getContext().getAuthentication().getPrincipal();这是我访问当前登录用户的方式。如果当前session被销毁,这是否会失效? 最佳答案 这取决于您如何配置它(或者说,您可以配置不同的行为)。在Web应用程序中,您将使用ThreadLocalSecu