ReportsRoleHelper.cs
825 Bytes
using Volo.Abp.Users;
namespace FoodLabeling.Application.Helpers;
/// <summary>
/// Reports 模块角色判断(与 JWT / CurrentUser.Roles 中的角色码一致)
/// </summary>
public static class ReportsRoleHelper
{
/// <summary>
/// 是否为管理员:任一角色码等于 <c>admin</c>(忽略大小写)则视为可查看全部打印数据。
/// </summary>
public static bool IsAdminRole(ICurrentUser currentUser)
{
if (currentUser.Roles is null)
{
return false;
}
foreach (var r in currentUser.Roles)
{
if (!string.IsNullOrWhiteSpace(r) &&
string.Equals(r.Trim(), "admin", StringComparison.OrdinalIgnoreCase))
{
return true;
}
}
return false;
}
}