我需要将我的管理文件夹的访问权限重新分配给某些人。那些没有身份验证票证的人应该被重定向到“不允许的页面”。如何识别我的管理文件夹中的所有页面。到目前为止已经有了,但是可以吗?
If url.Contains("/admin") Then
如果身份验证票证不正确,则
`Response.Redirect("~/notallowed_admin.aspx")`End If
不,我不能使用我的web.config来解决这个特定的问题。
非常感谢
发布于 2010-06-17 22:22:06
您应该将安全检查放在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;
}
.......
}发布于 2010-06-15 01:44:31
在大多数情况下,If url.contains("/admin")应该足够了。然而,大多数程序员会发现它有点杂乱无章。
您还可以编写一个抽象类来继承Page类,该类包含检查授权然后重定向的代码。然后,您可以为admin文件夹中的所有代码隐藏文件声明类,以继承该类。
我相信,是的,你想要做的事情是可能的,尽管从.net的角度来看,你所做的任何事情都会有点笨拙,因为web.config是微软提供的用于指定如何进行授权的东西。
https://stackoverflow.com/questions/3038607
复制相似问题