需要在Spring Web-Flow期间登录/注册

时间:2013-03-25 09:40:35

标签: spring spring-security spring-webflow spring-webflow-2

我有一个定义了4个步骤的Web流程。我还正确配置了spring security。

在最后一步中,我需要保存需要用户帐户的用户订单。因此,我需要确保用户在执行最后一步之前登录。所以我想要的是: - 已记录的用户将顺利移至最后一步 - 未登录的用户必须进入我们的注册/登录页面,之后他们将被重定向回来继续流程。

注意:第一步不需要登录(或注册)。只是最后一步。

如何在登录/注册后重定向回到最后一步?

2 个答案:

答案 0 :(得分:0)

您可以尝试重用RequestCache(Spring Security本身使用)。在最后一页的请求处理期间,您需要执行以下操作:

requestCache.saveRequest(request, response);

例如,请参阅ExceptionTranslationFilter.sendStartAuthentication(...)

如果您的登录页面配置正确,那么Spring Security会自动将RequestCacheAwareFilter添加到相应的文件管链。 RequestCacheAwareFilter会做到这一点。

编辑。它必须在Spring MVC环境中运行。我不确定Spring Web-Flow(对于这种情况可能有更高级别的框架支持)

答案 1 :(得分:0)

想出来登录。只需添加:

 <secured attributes="ROLE_USER" />

要保护的流元素。见Spring WebFlow Doc

我尚未解决注册问题。因为我们需要重新进入流程。有什么想法吗?