1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/izory-ZrAdminNetCore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
SysPermissionService.cs 1.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
不做码农 Отправлено год назад 1a6a7ed
using Infrastructure;
using Infrastructure.Attribute;
using ZR.Model.System;
namespace ZR.ServiceCore.Services
{
/// <summary>
/// 角色权限
/// </summary>
[AppService(ServiceType = typeof(ISysPermissionService), ServiceLifetime = LifeTime.Transient)]
public class SysPermissionService : ISysPermissionService
{
private readonly ISysRoleService SysRoleService;
private readonly ISysMenuService SysMenuService;
public SysPermissionService(
ISysRoleService sysRoleService,
ISysMenuService sysMenuService)
{
SysRoleService = sysRoleService;
SysMenuService = sysMenuService;
}
/// <summary>
/// 获取角色数据权限
/// </summary>
/// <param name="user">用户信息</param>
/// <returns>角色权限信息</returns>
public List<string> GetRolePermission(SysUser user)
{
List<string> roles = new();
// 管理员拥有所有权限
if (user.IsAdmin)
{
roles.Add("admin");
}
else
{
roles.AddRange(SysRoleService.SelectUserRoleKeys(user.UserId));
}
return roles;
}
/// <summary>
/// 获取菜单数据权限
/// </summary>
/// <param name="user">用户信息</param>
/// <returns>菜单权限信息</returns>
public List<string> GetMenuPermission(SysUser user)
{
List<string> perms = new();
// 管理员拥有所有权限
if (user.IsAdmin || GetRolePermission(user).Exists(f => f.Equals(GlobalConstant.AdminRole)))
{
perms.Add(GlobalConstant.AdminPerm);
}
else
{
perms.AddRange(SysMenuService.SelectMenuPermsByUserId(user.UserId));
}
return perms;
}
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/izory-ZrAdminNetCore.git
git@gitlife.ru:oschina-mirror/izory-ZrAdminNetCore.git
oschina-mirror
izory-ZrAdminNetCore
izory-ZrAdminNetCore
net8