using Core.Cerberos.Adapters.Handlers.Adapters; using Microsoft.AspNetCore.Authorization; namespace Core.Cerberos.Adapters.Handlers { public class PermissionsAuthorizationHandler : AuthorizationHandler { protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PermissionsAuthorizationAdapter requirement) { if (context.User.Claims.Any(x => x.Type == "LSARoleId" && requirement.Permission.Contains(x.Value))) { context.Succeed(requirement); } return Task.CompletedTask; } } }