Core.Thalos.BuildingBlocks/Core.Cerberos.Adapters/Handlers/PermissionsAuthorizationHandler.cs
Sergio Matias Urquin d5925a6476 Add project files.
2025-04-29 18:57:20 -06:00

19 lines
641 B
C#

using Core.Cerberos.Adapters.Handlers.Adapters;
using Microsoft.AspNetCore.Authorization;
namespace Core.Cerberos.Adapters.Handlers
{
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;
}
}
}