public static bool HasOwnUpdatePermission(this Role role, Rbac rbac, IUtilizer utilizer) { if (rbac.Action.Slug != Rbac.GetSegment(Rbac.CrudActions.Update).Slug) { return(false); } if (rbac.Resource == "users" && utilizer.UtilizerType == Utilizer.UtilizerType.User) { if (rbac.Object == utilizer.Id) { return(true); } } if (rbac.Resource == "applications" && utilizer.UtilizerType == Utilizer.UtilizerType.Application) { if (rbac.Object == utilizer.Id) { return(true); } } return(false); }
/// <summary> /// Constructor /// </summary> /// <param name="action"></param> public RbacActionAttribute(Rbac.CrudActions action) { this.ActionSegment = Rbac.GetSegment(action); }
/// <summary> /// Constructor /// </summary> /// <param name="action"></param> public RbacActionAttribute(Rbac.CrudActions action) : base(Rbac.GetSegment(action)) { }