我捕获了一个URL :(示例)
在我的.jsp中的变量中,然后我必须登录并在后面进行验证,确认登录正确后,将页面重定向到应用程序的主目录,但我想要的是重定向它登录前捕获的URL。当要重定向该变量时,是否可以在后面捕获该变量?就像从后面调用函数一样,以便返回URL?
这是我重定向的功能:
protected void handle(HttpServletRequest request,
HttpServletResponse response, Authentication authentication) throws IOException {
var urlNew = functionToCaptureURL();
redirectStrategy.sendRedirect(urlNew);
//redirectStrategy.sendRedirect("https://lol.com/home");
}
答案 0 :(得分:1)
使用RequestDispatcher::forward代替sendRedirect
。选中Difference between JSP forward and redirect,以了解更多信息。
答案 1 :(得分:0)
请在通过捕获的URL发送登录请求填充引用标头之前,然后创建一个扩展SimpleUrlAuthenticationSuccessHandler
类的类,并在覆盖的方法setUseReferer(true)
上调用RefererRedirectionAuthenticationSuccessHandler()
。
有关更多信息,请检查此链接:https://www.baeldung.com/spring_redirect_after_login