假设我们在发送给用户的电子邮件中有一个指向目标页面的链接(不是登录页面)。如何在用户登录后将用户重定向到目标页面? Spring在后端。如何在用户登录后将用户重定向到目标页面
回答
我们使用自主开发的认证
在当你继续请求(在自产自销的认证情况下,在servlet filter通常执行)之前检查的那一刻,你可以使用HttpServletRequest#getRequestURI()
来获取当前的请求URI。
String requestedURI = request.getRequestURI();
你只需要在会话范围内或者作为登录表单的隐藏输入字段来记住这一点。一旦登录成功,那么你只需要重定向到它。
response.sendRedirect(requestedURI);
如果'Cookie'用于存储数据而不是会话或隐藏输入,有什么缺点? –
这很笨拙。会话更容易使用(并且已经被cookie支持,参见http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-session-variables-and-multithreading/ 3106909#3106909)。 – BalusC
要添加细节BalusC的答案,即使你使用的是自家种的解决方案,我强烈建议你阅读过的"Authentication in a Web Application" Spring Security的描述。这很短,基本上是对你的问题的直接回答,并提供一些关于如何实施的提示。如果你想深入挖掘,你可以跳到Javadocs甚至挖掘到source code看看他们是如何做到的。这是一个非常优雅而灵活的解决方案,借用项目的一些想法甚至代码是没有坏处的。
- 1. 如何在用户未登录时将用户重定向到登录页面
- 2. 用户登录后页面重定向
- 3. 将用户重定向到登录页面注册后(登记)
- 4. 如何在登录后将用户重定向到他的帐户页面?
- 5. 登录后将用户重定向到特定页面
- 6. 将用户重定向到帐户页面(如果已登录)
- 7. 登录后将用户重定向到新页面
- 8. Laravel:登录后将用户重定向到同一页面
- 9. 登录后将用户重定向到同一页面(Rails)
- 10. Laravel 5.2:将用户重定向到登录页面失败后
- 11. AngularJS,登录后将用户重定向到页面
- 12. cookie过期后将用户重定向到登录页面
- 13. 如何将用户重定向到ACS默认登录页面
- 14. 如何将用户重定向到JSF登录页面
- 15. 为什么用户在登录后重定向到新页面
- 16. 重定向用户登录页面
- 17. 如何将用户登录后重定向到他所在的同一页面
- 18. 用react-redux登录后重定向到用户页面
- 19. 如何在用户登录后重定向回用户期望访问页面?
- 20. 使用javascript将用户重定向到liferay登录页面
- 21. 当用户未登录时重定向到登录页面(asp)
- 22. TYPO3 - 用户未登录时重定向到登录页面
- 23. Active Admin成功登录重定向到用户登录页面
- 24. 如何在用户登录后将用户重定向到特定链接php
- 25. 如何在登录django后将用户重定向到用户特定的url?
- 26. 登录后用户被重定向到错误页面
- 27. 登录后重定向到管理员/用户页面
- 28. 用户注册后重定向到登录页面。 Laravel 5.4
- 29. 如何将用户重定向到登录后浏览的同一页面drupal
- 30. 如何在登录后用用户名重定向到同一页面PHP
请提供您当前的登录码! –
只需要登录目标页面?如果目标页面没有登录请求,那么Spring Security(或者你正在使用的任何认证框架,包括标准的Java EE容器管理认证)应该已经自动记住最初请求的页面,并在成功登录后重新导向它。或者您是否使用本地认证? – BalusC
@BalusC我们正在使用本土认证。 – blue123