Интерфейс проверки привилегий пользователя

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

Синтаксис

C#
public interface ISecurityService

Примеры

CopyC#
 1//С помощью данного сервиса можно проверять на наличие привелегий у пользователей и запускать какие-либо
 2//действия от лица определённого пользователя с ограниченными или полными правами
 3
 4//запишем сервис в переменную, чтобы с ним легче было работать
 5var service = Locator.GetServiceNotNull<ISecurityService>();
 6
 7//Чтобы проверить наличие привелегий, используйте следующие функции:
 8//1.HasPermission(user, permission) - проверить наличие привелегии у определённого пользователя
 9var hasPermission = service.HasPermission(user, permission);
10
11//2.HasPermission(permission) - проверить наличие привелегии у текущего пользователя
12var hasPermission = service.HasPermission(permission);
13
14//3.HasPermission(user, permission, permissionSubject, skipAdmin) - проверить наличие привилегии у пользователя относительно экземпляра объекта
15var hasPermission = service.HasPermission(user, permission, permissionSubject, skipAdmin);
16
17//4.HasPermission(permission, target, skipAdmin) - проверить наличие привилегии у текущего пользователя относительно экземпляра объекта
18var hasPermission = service.HasPermission(permission, target, skipAdmin);
19
20//Чтобы проверить возможность проверки на наличие привелегии, используйте функцию CanCheckPermission(permission, target)
21var canCheck = service.CanCheckPermission(permission, target);
22
23//Чтобы запустить код с теми или иными привилегиями используйте следующие функции:
24//1.RunWithElevatedPrivilegies(action) - запустить код с повышенными привилегиями.
25service.RunWithElevatedPrivilegies(() => 
26    {
27            Console.WriteLine("Это работает!");
28    });
29
30//2.RunWithElevatedPrivilegiesAndWithDeleted(action) - запустить без фильтрации по пермишеннам и удалению
31service.RunWithElevatedPrivilegiesAndWithDeleted(() => 
32    {
33            Console.WriteLine("Это работает!");
34    });
35
36//3.RunWithUsualPrivilegies(action) - запустить с обычными привилегиями
37service.RunWithUsualPrivilegies(() => 
38    {
39            Console.WriteLine("Это работает!");
40    });
41
42//Чтобы запустить код от лица какого-либо пользователя используйте следующие функции:
43//1.RunBySystemUser(action) - запустить код от имени системного пользователя с повышенными привилегиями.
44service.RunBySystemUser(() => 
45    {
46            Console.WriteLine("Это работает!");
47    });
48
49//2.RunByUser(user, action) - запустить код от имени пользователя
50service.RunByUser(user, () => 
51    {
52            Console.WriteLine("Это работает!");
53    });

См. также