Files
HopFrame/HopFrame.Security/Authorization/PermissionValidator.cs
2024-07-21 15:08:29 +02:00

21 lines
653 B
C#

namespace HopFrame.Security.Authorization;
public static class PermissionValidator {
public static bool IncludesPermission(string permission, string[] permissions) {
var permLow = permission.ToLower();
var permsLow = permissions.Select(perm => perm.ToLower()).ToArray();
if (permsLow.Any(perm => perm == permLow || perm == "*")) return true;
foreach (var perm in permsLow) {
if (!perm.EndsWith(".*")) continue;
var permissionGroup = perm.Replace(".*", "");
if (permLow.StartsWith(permissionGroup)) return true;
}
return false;
}
}