Example #1
0
        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));
        }
Example #3
0
 public RoleRuleLink AllowRole(RoleRuleLink link)
 {
     return(link);
 }