Java 如何在重定向后强制浏览器重做上一次调用?

Java 如何在重定向后强制浏览器重做上一次调用?,java,spring,redirect,jwt,url-redirection,Java,Spring,Redirect,Jwt,Url Redirection,目前,我们使用Spring boot和Spring security对一个新应用程序进行了原型设计,并为我们的身份验证提供了工作解决方案 为了简化,在每次调用中,我们都使用Spring安全性来测试cookie中是否存在JWT令牌并且该令牌是否有效 如果没有,我们将重定向到另一个URL,在该URL中使用Kerberos执行SSO(如果SSO不工作,则返回到基本身份验证),然后使用cookie中设置的新JWT令牌重定向回原始URL 我们当前使用的解决方案是在重定向到身份验证URL时添加一个“重定向”

目前,我们使用Spring boot和Spring security对一个新应用程序进行了原型设计,并为我们的身份验证提供了工作解决方案

为了简化,在每次调用中,我们都使用Spring安全性来测试cookie中是否存在JWT令牌并且该令牌是否有效

如果没有,我们将重定向到另一个URL,在该URL中使用Kerberos执行SSO(如果SSO不工作,则返回到基本身份验证),然后使用cookie中设置的新JWT令牌重定向回原始URL

我们当前使用的解决方案是在重定向到身份验证URL时添加一个“重定向”参数,以及以下参数:

RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();
redirectStrategy.sendRedirect(request, response, "/auth/token?redirect=" + request.getServletPath() + "&" + request.getQueryString());
然后在身份验证URL中,当身份验证成功时,我们重定向回原始的“重定向”URL:

这仅适用于GET参数,但原始调用可以是任何类型,甚至是带有上载数据的POST

所以我想知道:是否可以在重定向中添加一些内容来强制浏览器重做上一次呼叫?


当然欢迎任何其他解决方案!:-)

根据我在另一个spring项目中的知识和经验,从ajax请求重定向到服务器是不可能的。您最好设置一个状态代码,让前端检查并执行重定向/重做。或者如果我不明白,你可以看看这篇文章是的,这正是我现在所做的,但这只适用于GET请求,如果最初的调用是一篇文章,则无法重定向。
CookiesUtils.setCookie(request, response, Constants.JWT_COOKIE_ACCESS, principal.getToken());

RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();
redirectStrategy.sendRedirect(request, response, request.getParameter("redirect") + "?" + request.getQueryString());