/// <summary> /// Конструктор атрибута метода контроллера для назначения /// </summary> /// <param name="rightModule">Модуль, </param> /// <param name="rightObject">Объект(клиент, договор, займ)</param> /// <param name="rightOperator">Действие(сооздать, коппировать, удалить)</param> public PermissionAttribute(RightModule rightModule, RightObject rightObject, RightOperator rightOperator) { Names = $"{ rightModule}.{rightObject}.{rightOperator}"; }
public ModuleRequirement(RightModule module) { Module = module; }
/// <summary> /// Класс описывающий требования для политики безопасности доступа в метод/действие контроллера. /// </summary> /// <param name="rightModule">Значение RightModule enum для проверки прав доступа к контроллеру. </param> /// <param name="rightObject">Значение RightObject enum для проверки прав доступа к работе с объектом.</param> /// <param name="rightOperator">Значение RightOperator enum для проверки прав доступа к выполнению текущей операции</param> public PermissionRequirement(RightModule rightModule, RightObject rightObject, RightOperator rightOperator) { RightModule = rightModule; RightObject = rightObject; RightOperator = rightOperator; }
/// <summary> /// Конструктор клвсса доступа к контроллеру /// </summary> /// <param name="module">Имя контроллера</param> public ModuleAttribute(RightModule module) { Module = module; }
/// <summary> /// Получение набора прав по модулю /// </summary> /// <param name="module">Идентификатор модуля</param> /// <returns></returns> public async Task <List <Right> > GetAllRights(RightModule module) => await _context.Rights.Where(x => x.Module == module).ToListAsync();
/// <summary> /// Получение набора прав по модулю и объекту /// </summary> /// <param name="module">Идентификатор модуля</param> /// <param name="rightObject">Идентификатор объекта</param> /// <returns></returns> public async Task <List <Right> > GetAllRights(RightModule module, RightObject rightObject) => await _context.Rights.Where(x => x.Module == module && x.Object == rightObject).ToListAsync();