什么是重定向到登录的安全方法.aspx

本文关键字:安全 方法 aspx 登录 重定向 什么 | 更新日期: 2023-09-27 17:57:07

现在我正在从头开始编写一个 ASP.NET 的Web应用程序,我希望所有未登录的用户都被重定向到Login.aspx。下面是我的母版页中的代码:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    if (this.Session["User"] == null && !this.Request.Path.EndsWith("Login.aspx")) {
        Response.Redirect("Login.aspx", true);
    }
}

但是,我担心潜在的恶意用户可以通过输入类似 https://mywebsite.com/Default.aspx?id=Login.aspx .在调试器中,它似乎不包含额外的参数,但我想知道用户是否有任何方法可以操纵它来查看其他页面。我的问题是,使用这样的Request.Path安全吗?

什么是重定向到登录的安全方法.aspx

无需重新发明轮子,ASP.NET 内置了以下功能:

查看表单身份验证

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH">
    </forms>
  </authentication>
</system.web>
按照

@meda的建议对web.config进行更改后试试这个。

if (!User.Identity.IsAuthenticated)
    {
       Response.Redirect("Login.aspx", true);
    }