用户使用表单身份验证登录时提交POST数据

时间:2012-10-11 14:10:16

标签: asp.net post forms-authentication

我有asp.net应用程序,它使用表单身份验证来控制访问。让我们假设我们有文件page.aspx,其中包含表单。当我按下搜索(表单中的提交按钮),然后POST数据被发送到该脚本,我得到搜索结果。但是,如果用户退出,然后在浏览器中按下后退按钮,然后按下搜索,用户将被重定向到登录页面。登录后,我获得该页面,但没有POST数据发送到该页面。有没有简单的方法来解决这个问题!

2 个答案:

答案 0 :(得分:1)

使用HTTP重定向响应重定向时,无法发送POST数据。 所以你必须改变应用程序的流程,检测用户是否已登出更早:

  • 在提交表单之前使用ajax请求检查登录状态
  • 将已提交的数据存储在Cookie中,以便在登录后重新创建POST
  • 在重定向到登录页面之前将提交的数据存储在会话中

答案 1 :(得分:1)

表单身份验证cookie不是会话cookie,因此如果您仍拥有用户会话,则可以将搜索参数存储在用户会话中,并在登录后重新加载。