Example #1
0
        public async Task Invoke(HttpContext context, IPolicyClientService client)
        {
            if (context.User.Identity.IsAuthenticated)
            {
                Models.PolicyResult policy = await client.GetPolicyAsync(context);

                if (policy.Roles != null && policy.Permissions != null)
                {
                    IEnumerable <Claim> roleClaims       = policy.Roles.Select(x => new Claim(Constants.Policy.Role, x, nameof(String), client.Authority));
                    IEnumerable <Claim> permissionClaims = policy.Permissions.Select(x => new Claim(Constants.Policy.Permission, x, nameof(String), client.Authority));

                    ClaimsIdentity id = new ClaimsIdentity(Constants.Policy.Identity, "name", Constants.Policy.Role);
                    id.AddClaims(roleClaims);
                    id.AddClaims(permissionClaims);

                    context.User.AddIdentity(id);
                }
            }

            await _next(context);
        }
Example #2
0
 public DefaultPolicyServerPermissionHandler(IPolicyClientService client)
 {
     _client = client;
 }
Example #3
0
 public ClientService(IUnitOfWork unitOfWork, IPolicyClientService policyClientService)
 {
     _unitOfWork          = unitOfWork;
     _policyClientService = policyClientService;
 }
 /// <summary>
 /// Class constructor
 /// </summary>
 /// <param name="policyClientService"></param>
 public PolicyClientsController(IPolicyClientService policyClientService)
 {
     _policyClientService = policyClientService;
 }