2

我们正在使用重定向之间的会话SocialAuth进行身份验证Spring 3并遇到问题。

当我们 return "redirect:myURL";在控制器中进行(身份验证后)重定向时,重定向正确发生,但是,经常重定向创建新session实例而不是使用我的当前实例,session这导致NullPointerException当我查找存储在session.

我添加了一些System.out陈述来证明session正在创建新的。

Session id is before authentication...E7557680F892C6776F36691E9DF93CF5
session ID after authentication and redirct....     726C2EE5C240BDE4D217CBFDB9C47A0F

如何session在重定向之前将当前存储在 Spring 应用程序上下文中,并在基于会话 ID 的重定向之后使用它?我们有没有其他方法可以在 Spring 中解决这个问题?

4

1 回答 1

1

看看RedirectAttributesSpring 中的接口,它是为您尝试实现的相同目的而构建的。这基本上保留了重定向之间的值,因此将消除您将属性放入会话然后获取它们的需要。

这是链接

http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/web/servlet/mvc/support/RedirectAttributes.html

于 2014-02-19T17:03:54.130 回答