|
根目录web.config
<authentication mode="Forms">
<forms name="loginApp" loginUrl="~/Navigation.aspx">
</forms>
</authentication> Navigation.aspx代码
if (string.IsNullOrEmpty(User.Identity.Name))
{
Response.Write("<script language = javascript>window.parent.parent.location.href='Index.aspx'</script>");
}
else
{
JSHelper.Alert("对不起,您没有权限访问该页面!", this.Page);
} 权限web.config
<!--系统维护-->
<location path="systemmanage">
<system.web>
<authorization>
<allow roles="系统管理员"/>
<deny users="*"/>
</authorization>
</system.web>
</location> Global.asax代码
HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);//解密
string[] roles = authTicket.UserData.Split(new char[] { ';' });//根据存入时的格式分解;
Context.User = new System.Security.Principal.GenericPrincipal(Context.User.Identity, roles);//存到HttpContext.User中 现在的问题是 通过角色不能实现权限功能,比如web.config我允许系统管理员管理页面,但是无效,通过用户名就可以,请问是哪里错了?
|
|