我使用 Asp.Net Web Forms 创建了一个管理网站。
当我与我的 friend 分享我网站的页面(不是主页)的 url 时,当他在浏览器中输入时,它会自动将他重定向到登录页面。(这是正确的行为)。
当他输入他的用户名和密码时,它会重定向到主页,而不是我与他共享的 URL。
我尝试使用 Request.UrlReferrer.PathAndQuery
在 login.aspx 上。
仅当用户有意退出系统时才有效。
基本上,我想通过邮件或其他方式分享一个链接(url),用户将打开它,如果他尚未登录,他会要求登录,一旦登录浏览器,他就会从 url 中显示页面而不是主页。
最佳答案
在每个页面检查用户是否登录,如果没有则
if (Session["UserName"] == null && Session["UserId"] == null)
{
string OriginalUrl = HttpContext.Current.Request.RawUrl;
string LoginPageUrl = "/login";
HttpContext.Current.Response.Redirect(String.Format("{0}?ReturnUrl={1}", LoginPageUrl, OriginalUrl));
}
并在登录页面检查是否
returnurl
那里,如果 returnurl
存在重定向到该页面。if (this.Request.QueryString["ReturnUrl"] != null)
{
this.Response.Redirect(Request.QueryString["ReturnUrl"].ToString());
}
else
{
this.Response.Redirect("/account/default");
}
关于asp.net - 登录后跳转到上一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17656209/