Files
baya-monorepo/server/src/Infrastructure/Baya.Infrastructure.Identity/Identity/PermissionManager/DynamicPermissionService.cs
T
2026-06-16 01:46:53 +03:30

23 lines
584 B
C#

using System.Security.Claims;
namespace Baya.Infrastructure.Identity.Identity.PermissionManager;
public class DynamicPermissionService : IDynamicPermissionService
{
public bool CanAccess(ClaimsPrincipal user, string area, string controller, string action)
{
if (user.IsInRole("admin"))
{
return true;
}
var key = $"{area}:{controller}:";
var userClaims = user.FindAll(ConstantPolicies.DynamicPermission);
return userClaims.Any(item => item.Value.Equals(key, StringComparison.OrdinalIgnoreCase));
}
}