我的站点使用 Windows Live 对用户进行身份验证。这样做的问题是他们被重定向离开站点以登录,然后返回到我自己的登录操作,该操作将用户注册/登录到我的站点。然后默认情况下,我将登录操作重定向到用户的个人资料页面。
但我想要的是让 SignIn 操作返回他们查看的最后一页。这似乎应该很简单。
我的第一个想法是在我的重要操作中添加以下内容以保存用户的当前位置:
Session["LastPage"] = RedirectToAction("Index", "Home");
然后在我的登录操作结束时,我尝试包括:
if (Session["LastPage"] != null)
return (ActionResult)Session["LastPage"];
else
return RedirectToAction("MyPage", "User");
但这实际上不起作用,因为显然每次用户离开和返回该站点时,我的会话都会重新启动。
我是否以正确的方式处理这个问题?如果是这样,我如何防止会话被擦除?如果我以完全错误的方式进行此操作,那么有人可以指出我正确的方向吗?