private bool CheckPermission(string roleName, string membershipId, Rbac rbac, Utilizer utilizer) { var hasUbacPermission = utilizer.HasPermission(rbac); if (hasUbacPermission != null) { return(hasUbacPermission.Value); } var role = this.roleService.GetByName(roleName, membershipId); if (role != null) { return(CheckPermission(role, rbac, utilizer)); } else { throw Core.Exceptions.ErtisAuthException.RoleNotFound(roleName, true); } }
private static bool CheckPermission(Role role, Rbac rbac, Utilizer utilizer) { var hasUbacPermission = utilizer.HasPermission(rbac); if (hasUbacPermission != null) { return(hasUbacPermission.Value); } if (role.HasPermission(rbac)) { return(true); } else if (role.HasOwnUpdatePermission(rbac, utilizer)) { return(true); } else { return(false); } }