我正在使用xml配置在SpringSecurity的应用程序上实现SpringSession。我按照本指南操作,应用程序工作率为95%,确认它正在使用redis后端:http://docs.spring.io/spring-session/docs/current/reference/html5/guides/security.html
应用程序将一些信息存储在扩展UsernamePasswordAuthenticationToken的自定义身份验证令牌中。在实现spring会话之后,似乎存储在令牌中的数据将转到错误的位置或不持久。流程是这样的:
SecurityContextHolder.getContext().getAuthentication()
token.setFoo("bar")
redirect:/nextController
Chain processed normally
和SecurityContextHolder now cleared
及更晚,Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT
token.setFoo("bar")
内的auth令牌中设置的字段为空。如果我禁用SpringSession配置,我可以看到该应用程序使用名为JSESSIONID的cookie而不是名为SESSION的cookie,并且填充了身份验证令牌并且可以正确保存。
非常感谢任何有关这个非常麻烦的错误的帮助,谢谢!