asp.net - 登录后跳转到上一页

标签 asp.net redirect login

我使用 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/

相关文章:

asp.net - 从用户控件打印 div 内容,无需打开新窗口

c# - ASP.NET MVC 5 处理未经授权的请求

c# - 在 View 中显示字典值

javascript - 重定向而不是更改文本和发布

node.js - 没有 `www` 域就不能工作,node.js 中的修复是什么

c# - Application_Start 上的 ApplicationPath

javascript - 如何使用 Cypress 测试客户端重定向到第 3 方站点?

c# - .NET中的注册页面错误

cakephp重定向查询

ios - 使用Facebook Connect登录IOS应用程序时发生冲突错误