Spring mvc SpringSession SecurityContext身份验证令牌未持久化

Spring mvc SpringSession SecurityContext身份验证令牌未持久化,spring-mvc,spring-security,spring-session,Spring Mvc,Spring Security,Spring Session,我正在使用xml配置在具有SpringSecurity的应用程序上实现SpringSession。我遵循此指南,应用程序运行率达到95%,确认它正在访问redis后端: 应用程序在扩展UsernamePasswordAuthenticationToken的自定义身份验证令牌中存储一些信息。在实现spring会话之后,似乎存储在令牌中的数据去了错误的地方,或者没有持久化。流程如下: 发出请求并映射到控制器 控制器以如下方式获取AuthorEntityTokenSecurityContextHold

我正在使用xml配置在具有SpringSecurity的应用程序上实现SpringSession。我遵循此指南,应用程序运行率达到95%,确认它正在访问redis后端:

应用程序在扩展UsernamePasswordAuthenticationToken的自定义身份验证令牌中存储一些信息。在实现spring会话之后,似乎存储在令牌中的数据去了错误的地方,或者没有持久化。流程如下:

  • 发出请求并映射到控制器
  • 控制器以如下方式获取AuthorEntityToken
    SecurityContextHolder.getContext().getAuthentication()
  • 此令牌是扩展UsernamePasswordAuthenticationToken的自定义令牌,并设置一个自定义字段,如
    token.setFoo(“bar”)
  • 控制器完成并返回一个ModelAndView,其中包含如下重定向命令
    redirect:/nextController
  • 在控制器完成后我看到的日志中,
    链正常处理
    SecurityContextHolder现在被清除
    ,之后,
    从SPRING\u SECURITY\u上下文中获得了有效的SecurityContext
  • 此时,我在SecurityContext内的auth令牌中设置的字段,
    token.setFoo(“bar”)
    ,为空
  • 如果禁用SpringSession配置,我可以看到应用程序使用了一个名为JSSessionID的cookie,而不是一个名为SESSION的cookie,并且验证令牌已填充并正确持久

    非常感谢您对这个非常麻烦的bug的任何帮助