using ModelTools.Models; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace ModelTools.Interfaces { public interface ISecurityManager { /// /// Аутентифицированный пользователь /// public Guid? User { get; set; } /// /// Список ролей аутентифицированного пользователь /// public List Roles { get; set; } /// /// Выполнена ли аутентификация /// public bool IsAuth { get; } /// /// Сообщение с причиной не получения доступа /// string ErrorMessage { get; set; } /// /// Авторизация пользователя к операции /// /// Данные по операции /// bool CheckAccess(SecurityManagerCheckAccessModel model); /// /// Проверка наличия старотвых данных для работы с ситемой /// void CheckStartDataSource(); /// /// Аутентификация пользователя /// /// /// /// Task LoginAsync(string login, string password); /// /// Выход из системы /// /// Task LogoutAsync(); /// /// Смена пароля /// /// /// /// Task ChangePassword(string login, string oldPassword, string newPassword); } }