假設我們在發送給用戶的電子郵件中有一個指向目標頁面的鏈接(不是登錄頁面)。如何在用戶登錄後將用戶重定向到目標頁面? 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