Интерфейс проверки привилегий пользователя
Пространство имен: 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 });