如何处理未经授权的ajax请求?

时间:2013-09-11 12:02:17

标签: c# asp.net asp.net-mvc-3

我有使用ajax调用的页面发布要求。

  1. 我有一个来自会话的用户ID列。
  2. 如果用户长时间处于空闲状态,则会话将过期。
  3. 因此,我没有获得ajax调用所需的参数。

    如何处理这种情况?

2 个答案:

答案 0 :(得分:1)

我会检查你的ajax处理程序中的有效会话。如果没有有效的用户登录,我会返回一些错误代码(即状态代码401 Unauthorized或带有错误信息的json)。在您的javascript中,您应该检查来自ajax处理程序的响应,如果它不是“ok”,那么您应该向用户显示错误。您可以在某处使用灯箱图层或红色条。

如果您不知道如何实现这一目标,您应该分享您当前的代码,以便我们为您提供帮助。

答案 1 :(得分:1)

您只有两个选项:

  1. 如果params不完整,请使用您的ajax失败处理程序将用户引导至登录页面。
  2. 存储javascript变量/隐藏表单字段中所需的参数,然后从中获取数据而不是会话对象。现在在服务器端,如果会话已过期,请创建一个新会话,并使用反射为该特定会话分配sessionid。
  3. 我的想法:选项1是最好的。