Служба аутентификации системы
Пространство имен: 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);