我需要限制对某些人访问我的管理员文件夹。那些没有身份验证票证的人应该被重定向到“不允许的页面”。如何识别管理员文件夹中的所有页面。到目前为止,我还好吗?
If url.Contains("/admin") Then
'如果身份验证票据不正确,那么
`Response.Redirect("~/notallowed_admin.aspx")`
End If
而不是,我不能使用我的web.config来解决这个问题。
非常感谢
答案 0 :(得分:1)
您应该将安全检查置于Global.asax
此外,用regexp更精确的匹配来替换你的条件是明智的,以避免偶尔的不匹配。
protected override void Application_BeginRequest(Object sender, EventArgs e) {
if (Regex.IsMatch(Request.Url.ToString(),@".*/system\.aspx/admin.*\.aspx",RegexOptions.IgnoreCase)) {
Response.Redirect("~/AdminSecurityCheck.aspx");
return;
}
.......
}
答案 1 :(得分:0)
If url.contains("/admin")
就足够了。但是,大多数程序员会发现它有点像KLUDGE。
您还可以编写一个抽象类来继承Page
类,其中包含检查授权然后重定向的代码。然后,您可以为admin文件夹中的所有代码隐藏文件声明类以继承该类。
我相信是的,你想做的事情是可能的,尽管你所做的任何事情都会从.net的观点来看,因为web.config是MS提供的,用于指定如何进行授权。 / p>