在重定向之间存储会话对象

时间:2014-02-19 16:22:20

标签: spring spring-mvc oauth-2.0 socialauth

我们正在使用SocialAuthSpring 3进行身份验证,并在重定向之间遇到问题。

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

我添加了一些session语句来证明正在创建新的System.out

session

如何在重定向之前将当前Session id is before authentication...E7557680F892C6776F36691E9DF93CF5 session ID after authentication and redirct.... 726C2EE5C240BDE4D217CBFDB9C47A0F 存储在Spring应用程序上下文中,并在基于会话ID的重定向后使用它?我们还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

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

这是链接

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