コード例 #1
0
        internal static Task HandleRequirements(ClaimController _claimDbController, ActorClaimController _actorClaimDbController, AuthorizationHandlerContext context, AuthorizationRequirement requirement, int entityId)
        {
            var claim = _claimDbController.Get(requirement.ClaimScope, requirement.Name);

            if (claim != null)
            {
                var claims = _actorClaimDbController.GetActorClaimsForEntity(int.Parse(context.User.Identity.Name), entityId, requirement.ClaimScope).ToList();
                if (claims.Any(c => c.Id == claim.Id))
                {
                    context.Succeed(requirement);
                }
            }
            return(Task.CompletedTask);
        }
コード例 #2
0
 public AuthorizationHandlerWithoutEntity(ActorClaimController actorClaimDbController,
                                          ClaimController claimDbController)
 {
     _actorClaimDbController = actorClaimDbController;
     _claimDbController      = claimDbController;
 }