[英]Redirect user to his last visited page after session ends and relogin
我正在尝试实现一个选项,当用户超时后,在他再次登录后,他将被重定向到他所处的上一页。我似乎遇到的问题是,当用户无法访问该页面时,会话结束。 我尝试了类似的东西:
protected void Session_end(object sender, EventArgs e)
{
string userUrl = Request.Url.AbsoluteUri;
Application["userUrl"] = userUrl;
}
然后在会话开始时检查网址是否存在并重定向到该网址。
protected void Session_Start(object sender, EventArgs e)
{
try
{
string userUrl = Application["userUrl"].ToString();
}
catch
{}
}
我得到的错误是string userUrl = Request.Url.AbsoluteUri;
上的“请求在此上下文中不可用” string userUrl = Request.Url.AbsoluteUri;
。 谁能解释我在做什么错?
在每个页面加载中,您应该将用户名和url存储在一些持久性存储中。 然后,当新会话开始时,查找用户名的URL,并将客户端重定向到此页面。
在Session_End()中,如果要访问Request对象,则需要通过HttpContext.Current.Request访问它。
但是据我所知,如果您使用表单身份验证,则在会话结束时,默认情况下,FormAuthenticationModule会将您重定向到登录页面,其中returnUrl作为URL中的查询字符串。 在登录页面中,您只需检查该参数,即可在身份验证成功后进行重定向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.