Files
Core.Thalos.BuildingBlocks/Core.Thalos.BuildingBlocks/Handlers/PermissionsAuthorizationHandler.cs

18 lines
588 B
C#

using Microsoft.AspNetCore.Authorization;
namespace Core.Thalos.BuildingBlocks
{
public class PermissionsAuthorizationHandler : AuthorizationHandler<PermissionsAuthorizationAdapter>
{
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;
}
}
}