public bool RemoveRoleFromAction(string actionName, string roleName)
 {
     if (!ActionRoleManager.GetRolesOfAction(actionName).Contains(roleName))
     {
         return(false);
     }
     ActionRoleManager.RemoveRoleFromAction(actionName, roleName);
     return(true);
 }
        public void OnActionExecuting(ActionExecutingContext context)
        {
            string path = context.HttpContext.Request.Path;

            string[] Roles       = ActionManager.GetRolesOfAction(path).ToArray();
            string[] Permissions = ActionManager.GetPermissionOfAction(path).ToArray();
            if (!context.HttpContext.User.Claims.Any())
            {
                if (Roles.Length > 0 || Permissions.Length > 0)
                {
                    context.Result = new UnauthorizedResult();
                }
            }
            else
            {
                if (!RoleValidator.ValidateRoles(context.HttpContext.User, Roles))
                {
                    context.Result = new UnauthorizedResult();
                }
                if (!RoleValidator.ValidatePermissions(context.HttpContext.User, Permissions))
                {
                    context.Result = new UnauthorizedResult();
                }
            }
        }