0

假设我们在发送给用户的电子邮件中有一个指向目标页面(不是登录页面)的链接。用户登录后如何重定向到目标页面?春天在后端。

4

2 回答 2

3

我们正在使用本土认证

当您在继续请求之前检查时(在本地身份验证的情况下,通常在servlet 过滤器中执行),您可以只使用HttpServletRequest#getRequestURI()获取当前请求 URI。

String requestedURI = request.getRequestURI();

您只需在会话范围内或登录表单的隐藏输入字段中记住这一点。登录成功后,您只需重定向到它。

response.sendRedirect(requestedURI);
于 2012-12-25T03:46:19.333 回答
2

要为 BalusC 的答案添加细节,即使您使用的是本土解决方案,我强烈建议您阅读 Spring Security 对“Web 应用程序中的身份验证”的描述。它很短,本质上是对您问题的直接回答,并提供了一些有关如何实施的提示。如果您想更深入地挖掘,您可以跳到Javadocs,甚至深入研究源代码,看看他们是如何做到的。这是一个非常优雅和灵活的解决方案,从项目中借用一些想法甚至是一些代码也没有什么坏处。

于 2012-12-25T04:22:17.587 回答