public List <ActorRole> GetActorRolesForEntity(int actorId, int entityId, ClaimScope scope, bool includeClaims = false) { using (var context = ContextFactory.Create()) { if (includeClaims) { var roles = context.ActorRoles .Include(r => r.Role) .ThenInclude(r => r.RoleClaims) .ThenInclude(rc => rc.Claim) .Where(ar => ar.ActorId == actorId && (ar.EntityId == entityId || ar.EntityId == Platform.AllId) && ar.Role.ClaimScope == scope) .ToList(); return(roles); } else { var roles = context.ActorRoles .Where(ar => ar.ActorId == actorId && (ar.EntityId == entityId || ar.EntityId == Platform.AllId) && ar.Role.ClaimScope == scope) .ToList(); return(roles); } } }
public Claim Get(ClaimScope scope, string name) { using (var context = ContextFactory.Create()) { var claim = context.Claims.FirstOrDefault(c => c.ClaimScope == scope && c.Name == name); return(claim); } }
public Role GetDefaultForScope(ClaimScope scope) { var role = _roleDbController.GetDefault(scope); _logger.LogInformation($"{role?.Id} Role ID for {nameof(ClaimScope)}: {scope}"); return(role); }
public List <Role> GetByScope(ClaimScope scope) { var roles = _roleDbController.Get(scope); _logger.LogInformation($"{roles?.Count} Roles for {nameof(ClaimScope)}: {scope}"); return(roles); }
public List <Role> Get(ClaimScope scope) { using (var context = ContextFactory.Create()) { var roles = context.Roles.Where(r => r.ClaimScope == scope).ToList(); return(roles); } }
public List <ActorClaim> GetActorClaimsByScope(int actorId, ClaimScope scope) { var claims = GetActorClaims(actorId).ToList(); claims = claims.Where(c => c.Claim.ClaimScope == scope).ToList(); _logger.LogInformation($"{claims.Count} Actor Claims for ActorId: {actorId}, {nameof(ClaimScope)}: {scope}"); return(claims); }
public List <Claim> GetActorClaimsForEntity(int actorId, int entityId, ClaimScope scope) { using (var context = ContextFactory.Create()) { var claims = context.ActorClaims .Where(ac => ac.ActorId == actorId && (ac.EntityId == entityId || ac.EntityId == Platform.AllId)) .Select(ac => ac.Claim) .Where(c => c.ClaimScope == scope).ToList(); return(claims); } }
public List <Role> GetActorRolesForEntity(int actorId, int entityId, ClaimScope scope) { var roles = _actorRoleDbController .GetActorRolesForEntity(actorId, entityId, scope, true) .Select(ar => ar.Role) .ToList(); _logger.LogInformation($"{roles.Count} Roles for ActorId: {actorId}, EntityId: {entityId}, {nameof(ClaimScope)}: {scope}"); return(roles); }
private static Role CreateRole(SUGARContext context, ClaimScope claimScope, bool defaultRole = true) { var role = context.Roles.Add(new Role { Name = claimScope.ToString(), ClaimScope = claimScope, Default = defaultRole }).Entity; context.SaveChanges(); return(role); }
public void Create(ClaimScope claimScope, int actorId, int entityId, SUGARContext context = null) { var role = _roleController.GetDefault(claimScope, context); _logger.LogInformation($"ClaimScope: {claimScope}, ActorId: {actorId}, EntityId: {entityId}"); if (role != null) { Create(new ActorRole { ActorId = actorId, RoleId = role.Id, EntityId = entityId }, context); } }
public List <Claim> GetActorClaimsForEntity(int actorId, int entityId, ClaimScope scope) { var claims = _actorClaimDbController.GetActorClaimsForEntity(actorId, entityId, scope); var roleClaims = _actorRoleController.GetActorRolesForEntity(actorId, entityId, scope) .SelectMany(r => r.RoleClaims) .Select(rc => rc.Claim) .ToList(); var totalClaims = claims.Concat(roleClaims).Distinct().ToList(); _logger.LogInformation($"{totalClaims.Count} Claims for ActorId: {actorId}, EntityId: {entityId}, {nameof(ClaimScope)}: {scope}"); return(totalClaims); }
public Role GetDefault(ClaimScope scope, SUGARContext context = null) { var didCreate = false; if (context == null) { context = ContextFactory.Create(); didCreate = true; } var role = context.Roles.FirstOrDefault(r => r.ClaimScope == scope && r.Default); if (didCreate) { context.Dispose(); } return(role); }
public Claim Get(ClaimScope scope, string name) { var claim = _claimDbController.Get(scope, name); return(claim); }
public AuthorizationAttribute(ClaimScope claimScope, AuthorizationAction action, AuthorizationEntity entity) { ClaimScope = claimScope; Name = AuthorizationName.Generate(action, entity); }
public static IAuthorizationRequirement ScopeItems(this HttpContext context, ClaimScope scope) { return((IAuthorizationRequirement)context.Items[scope.Key()]); }
public static string Key(this ClaimScope scope) { return($"{scope}-Requirements"); }
public AuthorizationRequirement(ClaimScope scope, string name) { ClaimScope = scope; Name = name; }