欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC中权限控制的简单实现

程序员文章站 2022-03-24 22:20:35
1、重写authorizeattribute类,用自己的权限控制逻辑重写authorizecore方法   public class myauthorizeattribute : a...

1、重写authorizeattribute类,用自己的权限控制逻辑重写authorizecore方法


 

public class myauthorizeattribute : authorizeattribute  
    { 
 
        protected override bool authorizecore(httpcontextbase httpcontext) 
        { 
            string currentrole = (session["user"] as user).role; 
            //从session中获取user对象,然后得到其角色信息。如果用户重写了identity, 则可以在httpcontext.current.user.identity中获取  
            if (roles.contains(currentrole)) 
                return true; 
            return base.authorizecore(httpcontext); 
        } 
 
    } 

public class myauthorizeattribute : authorizeattribute
    {

        protected override bool authorizecore(httpcontextbase httpcontext)
        {
            string currentrole = (session["user"] as user).role;
            //从session中获取user对象,然后得到其角色信息。如果用户重写了identity, 则可以在httpcontext.current.user.identity中获取
            if (roles.contains(currentrole))
                return true;
            return base.authorizecore(httpcontext);
        }

    }

2、在需要进行权限控制的action上加上相应的attribute,并且设置可以访问的角色组


 

myauthorize(roles = "admin, user")] 
       public actionresult authorizemethod2() 
       { 
           return view(); 
       } 

 [myauthorize(roles = "admin, user")]
        public actionresult authorizemethod2()
        {
            return view();
        }

当用户访问相应的action的时候,就会进行相应的权限控制。