Служба аутентификации системы

Пространство имен: EleWise.ELMA.Security.Services
Сборка: EleWise.ELMA.SDK (в EleWise.ELMA.SDK.dll) Версия: 1.0.0.0 (3.8.0.22046)

Синтаксис

C#
public interface IAuthenticationService

Примеры

CopyC#
 1//С помощью данного сервиса мы можем получить текущего пользователя,
 2//получить информацию о авторизованных сессиях. Так же предоставляется возможность
 3//удалять сессии.
 4//запишем сервис в переменную, чтобы с ним легче было работать
 5var service = Locator.GetServiceNotNull<IAuthenticationService>();
 6
 7//чтобы получить текущего пользователя, используйте следующие функции:
 8//1. GetCurrentUser() - для получения системного пользователя (EleWise.ELMA.Security.IUser)
 9var currentUser = service.GetCurrentUser();
10
11//2. GetCurrentUser<T>() - для получения пользователя определённого типа 
12var currentUser2 = service.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>();
13
14
15//чтобы авторизовать пользователя в системе, используйте функцию SignIn(user, rememberMeSet)
16service.SignIn(UserManager.Instance.Load(4), false);
17
18//чтобы убрать авторизацию пользователя, используйте функцию SignOut();
19//убирает авторизацию текущего пользователя
20service.SignOut();
21
22//для установки авторизированного пользователя в рамках
23//одного запроса используйте функцию SetAuthenticatedUserForRequest
24service.SetAuthenticatedUserForRequest(UserManager.Instance.Load(5));
25
26//для получения информации о активных авторизированных сессиях используйте функцию GetActiveSessions()
27var activeSessions = service.GetActiveSessions();
28
29//для получения информации о авторизированных сессиях используйте функцию GetSession(filter),
30//где filter - экземпляр класса AuthenticatedSessionFilter. Данный фильтр предоставляет возможность
31//фильтровать по двум полям:
32//1.bool OnlyActive - выбирать только активные сессии;
33//2.bool OnlyConcurrentUsers - выбирать только сессии пользователей с конкурентными лицензиями.
34//Так же вместо filter можно передать null
35var sessions = service.GetSessions(null); 
36
37//чтобы удалить сессию по её тикету, используйте функцию RemoveSession(ticketId)
38service.RemoveSession(activeSession.First().TicketUid);
39
40//чтобы удалить все авторизованные сессии пользователя, используйте функцию RemoveAllUserSessions(userId)
41service.RemoveAllUserSessions(user.Id);

См. также