migration
All checks were successful
Build and publish package / Build (push) Successful in 27s
Build and publish package / Determine version (push) Successful in 16s
Build and publish package / Pack (push) Successful in 26s
Build and publish package / Publish (push) Successful in 12s

This commit is contained in:
2026-02-15 14:15:28 +01:00
Unverified
parent d42c5f0a5e
commit 0cfd932b50
11 changed files with 807 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
namespace SimpleToolkit.Attributes
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class RequiresClaimAttribute : Attribute, IAuthorizationFilter
{
private readonly Predicate<Claim> _predicate;
public RequiresClaimAttribute(Predicate<Claim> predicate)
{
_predicate = predicate;
}
public void OnAuthorization(AuthorizationFilterContext context)
{
if (!context.HttpContext.User.HasClaim(_predicate))
{
context.Result = new ForbidResult();
}
}
}
}