1. 程式人生 > >ASP.NET MVC中許可權控制的簡單實現

ASP.NET MVC中許可權控制的簡單實現

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);
        }

    }


2、在需要進行許可權控制的Action上加上相應的Attribute,並且設定可以訪問的角色組
 [MyAuthorize(Roles = "Admin, User")]
        public ActionResult AuthorizeMethod2()
        {
            return View();
        }

當用戶訪問相應的Action的時候,就會進行相應的許可權控制。