我有一个定义了4个步骤的web流。我还正确地配置了spring安全性。
在最后一步,我需要保存用户的订单,这需要一个用户帐户。因此,在执行最后一步之前,我需要确保用户已经登录。所以我想要的是:-已经登录的用户将平滑地移动到最后一步-未登录的用户将必须转到我们的注册/登录页面,之后他们将被重定向回以继续流程。
注意:第一步不需要登录(或注册)。只有最后一步。
如何在登录/注册后重定向回最后一步?
发布于 2013-03-25 20:54:09
在登录时就知道了。只需添加:
<secured attributes="ROLE_USER" />到您想要保护的流元素。请参阅Spring WebFlow Doc
我还没有为注册解决这个问题。因为我们需要重新进入流程。有什么想法吗?
发布于 2013-03-25 18:01:23
您可以尝试重用RequestCache (由Spring Security本身使用)。在最后一个页面的请求处理过程中,您需要执行以下操作:
requestCache.saveRequest(request, response);请参见ExceptionTranslationFilter.sendStartAuthentication(...)示例。
如果您的登录页面配置正确,Spring Security会自动将RequestCacheAwareFilter添加到相应的文件服务器链中。RequestCacheAwareFilter将会做到这一点。
编辑。它必须在Spring MVC环境下工作。我不确定Spring Web-Flow (可能有更高级别的框架支持这种情况)
https://stackoverflow.com/questions/15611714
复制相似问题