public RoleRuleLink PersistRoleRuleLink(RoleRuleLink link) { if (link.Roles.Count == 0) { return(null); } ApplicationRole role = _roleManager.FindByName(link.Roles[0].RoleName); Rule rule = _ctx.Rule.Find(link.RuleId); if (link.IsAllowed) { if (!role.Rules.Any(x => x.Id == link.RuleId)) { role.Rules.Add(rule); _ctx.SaveChanges(); return(link); } } else { if (role.Rules.Any(x => x.Id == link.RuleId)) { role.Rules.Remove(rule); _ctx.SaveChanges(); return(link); } } return(null); }
public IHttpActionResult PostRoleRight([FromBody] RoleRuleLink roleRuleLink) { if (!_SecRepo.IsAllowed(User.Identity.Name, "edit-security-guidelines")) { return(StatusCode(HttpStatusCode.Forbidden)); } RoleRuleLink link = _Repo.PersistRoleRuleLink(roleRuleLink); if (link == null) { return(InternalServerError()); } return(Ok(link)); }
public RoleRuleLink AllowRole(RoleRuleLink link) { return(link); }