IAuthenticationService - интерфейс |
Пространство имён: EleWise.ELMA.Security.Services
public interface IAuthenticationService
Тип IAuthenticationService предоставляет следующие члены.
Имя | Описание | |
---|---|---|
GetActiveSessions |
Получить информацию об активных авторизованных сессиях
| |
GetCurrentSession |
Получить информацию о текущей активной сессии контекста
| |
GetCurrentUser |
Получить текущего пользователя системы
| |
GetCurrentUserT |
Получить текущего пользователя системы
| |
GetSessions |
Получить информацию об авторизованных сессиях
| |
RemoveAllUserSessions |
Удалить все авторизованные сессии указанного пользователя
| |
RemoveSession |
Удалить авторизованную сессию
| |
SetAuthenticatedUserForRequest |
Установить авторизованного пользователя только в рамках этого запроса
| |
SignIn(IUser, Boolean) |
Авторизовать пользователя системы
| |
SignIn(IUser, Boolean, Boolean) |
Авторизовать пользователя системы
| |
SignOut |
Убрать авторизацию пользователя
|
//С помощью данного сервиса мы можем получить текущего пользователя, //получить информацию о авторизованных сессиях. Так же предоставляется возможность //удалять сессии. //запишем сервис в переменную, чтобы с ним легче было работать var service = Locator.GetServiceNotNull<IAuthenticationService>(); //чтобы получить текущего пользователя, используйте следующие функции: //1. GetCurrentUser() - для получения системного пользователя (EleWise.ELMA.Security.IUser) var currentUser = service.GetCurrentUser(); //2. GetCurrentUser<T>() - для получения пользователя определённого типа var currentUser2 = service.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>(); //чтобы авторизовать пользователя в системе, используйте функцию SignIn(user, rememberMeSet) service.SignIn(UserManager.Instance.Load(4), false); //чтобы убрать авторизацию пользователя, используйте функцию SignOut(); //убирает авторизацию текущего пользователя service.SignOut(); //для установки авторизированного пользователя в рамках //одного запроса используйте функцию SetAuthenticatedUserForRequest service.SetAuthenticatedUserForRequest(UserManager.Instance.Load(5)); //для получения информации о активных авторизированных сессиях используйте функцию GetActiveSessions() var activeSessions = service.GetActiveSessions(); //для получения информации о авторизированных сессиях используйте функцию GetSession(filter), //где filter - экземпляр класса AuthenticatedSessionFilter. Данный фильтр предоставляет возможность //фильтровать по двум полям: //1.bool OnlyActive - выбирать только активные сессии; //2.bool OnlyConcurrentUsers - выбирать только сессии пользователей с конкурентными лицензиями. //Так же вместо filter можно передать null var sessions = service.GetSessions(null); //чтобы удалить сессию по её тикету, используйте функцию RemoveSession(ticketId) service.RemoveSession(activeSession.First().TicketUid); //чтобы удалить все авторизованные сессии пользователя, используйте функцию RemoveAllUserSessions(userId) service.RemoveAllUserSessions(user.Id);