假设用户正在浏览网站,然后执行一些更改数据库的操作(假设他们添加了注释).但是,当实际添加评论的请求进入时,我们发现我们需要强制他们登录才能继续.
假设登录页面要求输入用户名和密码,并将用户重定向回到需要登录时要访问的URL.该重定向可以找到只包含GET参数的URL,但如果请求最初包含一些HTTP POST数据,那么现在会丢失.
任何人都可以推荐一种方法来处理涉及HTTP POST数据时的这种情况吗?
显然,如果有必要,登录页面可以动态生成一个包含所有POST参数的表单来传递它们(虽然这看起来很乱),但即使这样,我也不知道登录页面是否有任何方法可以重定向用户在将POST数据保留在请求中的同时将其打印到其预期页面.
编辑:我应该明确的一个额外约束 - 想象一下,在用户提交评论之前我们不知道是否需要登录.例如,他们的cookie可能在加载表单和实际提交评论之间已过期.
这是Ajax技术可能有用的一个好地方.当用户单击"提交"按钮时,在客户端显示登录对话框,并在实际提交页面之前与服务器进行验证.
我能想到的另一种方法是在主页面中动态显示或隐藏DIV标签中的登录控件.