在Global.asax.cs中
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if(User!=null)
{
if(User.Identity.AuthenticationType=="Forms")
{
string[] roles=new string[4];
Login lg=new Login();
bool IsAdmin=false;
if(Web.Login.isAdmin)
IsAdmin=true;
roles[0]=lg.CheckRole(User.Identity.Name,IsAdmin).ToString();//获取用户角色,具体的角色名称如"HighAdmin","NormalAdmin"
HttpContext.Current.User=new System.Security.Principal.GenericPrincipal(User.Identity,roles);//指定用户的角色
}
}
}
===
web.config中
<location path="AdminManage1"><!--高级管理员文件夹路径,只允许高级管理员访问-->
<system.web>
<authorization>
<deny users="?"/>
<deny roles="HighAdmin"/>
<allow roles="NormalAdmin"/>
</authorization>
</system.web>
</location>
<location path="AdminManage2"><!--普通管理员文件夹路径,只允许普通管理员访问-->
<system.web>
<authorization>
<deny users="?"/>
<deny roles="NormalAdmin"/>
<allow roles="HighAdmin"/>
</authorization>
</system.web>
</location>