< Summary

Information
Class: FAU.API.Security.PermissionAuthorizationHandler
Assembly: FAU.API
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.API/Security/PermissionAuthorizationHandler.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 6
Coverable lines: 6
Total lines: 21
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
HandleRequirementAsync(...)0%2040%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.API/Security/PermissionAuthorizationHandler.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Authorization;
 2
 3namespace FAU.API.Security;
 4
 5/// <summary>
 6/// Autoriza si el usuario tiene un claim "Permission" que coincida.
 7/// </summary>
 8public sealed class PermissionAuthorizationHandler : AuthorizationHandler<PermissionRequirement>
 9{
 10    protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PermissionRequirement requiremen
 11    {
 012        var has = context.User.Claims
 013            .Any(c => string.Equals(c.Type, "Permission", StringComparison.OrdinalIgnoreCase)
 014                   && string.Equals(c.Value, requirement.Permission, StringComparison.OrdinalIgnoreCase));
 15
 016        if (has)
 017            context.Succeed(requirement);
 18
 019        return Task.CompletedTask;
 20    }
 21}