假设用户正在浏览一个网站,然后执行一些更改数据库的操作(假设他们添加了评论)。然而,当实际添加评论的请求进来时,我们发现我们需要强制他们登录才能继续。
假设登录页面要求输入用户名和密码,并将用户重定向回他们在需要登录时访问的 URL。该重定向适用于仅具有 GET 参数的 URL,但如果请求最初包含一些 HTTP POST 数据,则该数据现在会丢失。
当涉及 HTTP POST 数据时,谁能推荐一种处理这种情况的方法?
显然,如果有必要,登录页面可以动态生成一个包含所有 POST 参数的表单来传递它们(虽然这看起来很乱),但即便如此,我也不知道登录页面有什么方法可以重定向用户到他们的预期页面,同时将 POST 数据保留在请求中。
编辑:我应该明确的一个额外限制 - 想象一下,在用户提交评论之前,我们不知道是否需要登录。例如,他们的 cookie 可能在他们加载表单和实际提交评论之间过期。