Создание Windows-приложений на основе Visual C#



Пример 10.4


using System; using System.Threading; using System.Security.Principal;

namespace AccessControl { class Class1 { [STAThread] static void Main(string[] args) { GenericIdentity identity = new GenericIdentity("MANAGER"); string[] userRoles = new string[]{"Administrator"}; GenericPrincipal principal = new GenericPrincipal(identity, userRoles); Thread.CurrentPrincipal = principal;

ValidateUserName(); ValidateRole(); } //Проверяем пользователя по личности static void ValidateUserName() { if (String.Compare(Thread.CurrentPrincipal.Identity.Name, "manager", true) == 0) { Console.WriteLine("Добро пожаловать, пользователь Manager"); } else { throw new System.Security.SecurityException("У вас нет прав для выполнения текущей операции"); } } //Проверяем пользователя по роли static void ValidateRole() { if (Thread.CurrentPrincipal.IsInRole("Administrator")) { Console.WriteLine("Добро пожаловать, пользователь Manager"); } else { throw new System.Security.SecurityException("У вас нет прав для выполнения текущей операции"); } } } }

Листинг 10.4.

Закрыть окно




Содержание  Назад  Вперед