需要重定向到用户来自会话超时的位置

时间:2012-03-20 15:42:15

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

用户有两种方式访问​​此MVC3网站。

  1. 通过登录屏幕。
  2. 从其他网站重定向。
  3. 如果会话超时,我目前只是显示会话超时页面。但是,企业现在希望将用户重定向到会话超时时他来自的地方。

    我如何知道用户来自哪里?

    当我离开会话时,我甚至不知道用户是谁。虽然这没有什么区别,因为同一个用户可能来自任何一个地方。

1 个答案:

答案 0 :(得分:0)

棘手。您可以使用类似的技术来处理请求需要身份验证的页面时发生的情况。在这种情况下,您将被重定向到登录操作,但原始请求将添加到http://localhost/Account/Login?returnUrl={your original request here}的查询字符串中,以便在您通过身份验证后转到原始请求的页面。

在您的情况下,您必须将登录页面上的传入HTTP_REFERER保存到当前会话,然后将其作为“?returnUrl =”添加到注销页面的每个链接。然后,您必须将代码添加到Logout控制器方法以处理重定向。

请注意,此技术不适用于深度链接到受限制的auth页面(如第一段所述),因为这需要两个重定向。推荐人在那时无效。