예제 #1
0
 public static bool HasPermission(this ControllerBase controller, string permission)
 {
     bool bFound = false;
     try
     {
         //Check if the requesting user has the specified application permission...
         bFound = new RBAC(controller.ControllerContext.HttpContext.User.Identity.GetUserId<int>()).HasPermission(permission);
     }
     catch { }
     return bFound;
 }
예제 #2
0
 public static bool HasRole(this ControllerBase controller, string role)
 {
     bool bFound = false;
     try
     {
         //Check if the requesting user has the specified role...
         bFound = new RBAC(controller.ControllerContext.HttpContext.User.Identity.GetUserId<int>()).HasRole(role);
     }
     catch { }
     return bFound;
 }
예제 #3
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (HttpContext.Current.User.Identity.IsAuthenticated)
            {
                RBAC requestingUser = new RBAC(filterContext.RequestContext
                                                       .HttpContext.User.Identity.GetUserId<int>());

                if (!requestingUser.HasPermission(AccessAction))
                {
                    filterContext.Result = new HttpStatusCodeResult(403);
                }
            }
        }