我正在尝试处理以下案例,我是网络应用世界的新手,所以请原谅我的无知(如果有的话):
假设/约束:
- 我对网络应用程序代码库没有任何控制权。
- 身份验证在 http 代理级别处理。
设想:
- 用户已使用 SAML 对 Web 应用程序进行身份验证,并且已经访问该 Web 应用程序已有一段时间了。
- 他的身份验证令牌(或 cookie)过期。
- 他提交了一个表单(HTTP POST)。
- 服务器需要再次执行身份验证工作流,这需要 HTTP 重定向。
现在,要求是在完成身份验证工作流程后,以某种方式自动为用户重新提交原始 HTTP POST。我能想到的几个选择是:
- 使用 javascript 注入将 POST 状态存储在浏览器的 sessionStorage 中,并在完成身份验证工作流程后重新发布内容。但是我不知道如果原始 POST 是使用 XMLHttpRequest 完成的,这将如何工作???
- 在服务器(或代理)端存储 POST 状态并执行内部 rePOST 并将结果返回给浏览器。
还有其他选择吗???如果我们可以避免在服务器端保存状态,那就太好了。人们通常如何处理这种情况?
TIA,
普拉迪