什么是重定向到登录的安全方法.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
安全吗?
无需重新发明轮子,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);
}