0

我有一个包含 4 个步骤的 Web 流程。我也正确配置了弹簧安全性。

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

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

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

4

2 回答 2

0

想通了登录。只需添加:

 <secured attributes="ROLE_USER" />

到您要保护的流程元素。请参阅Spring WebFlow 文档

我还没有解决它的注册。因为我们需要重新进入流程。有任何想法吗?

于 2013-03-25T12:54:09.370 回答
0

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

requestCache.saveRequest(request, response);

ExceptionTranslationFilter.sendStartAuthentication(...)例如参见。

如果您的登录页面配置正确,那么 Spring Security 将自动添加RequestCacheAwareFilter到相应的文件管理器链中。RequestCacheAwareFilter会成功的。

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

于 2013-03-25T10:01:23.423 回答