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

         

Использование объектов WindowsIdentity и WindowsPrincipal


Существует два способа создания объекта WindowsPrincipal. Разница между ними в том, что один способ проверяет введенную информацию один раз, а второй — постоянно.

Если однократной проверки роли достаточно, то создаем объект WindowsPrincipal следующим образом:

// Инициализируем объект класса WindowsIdentity // с помощью статического метода WindowsIdentity.GetCurrent() WindowsIdentity identity = WindowsIdentity.GetCurrent(); // Создаем новый объект класса WindowsPrincipal // и передаем в качестве параметра объект identity WindowsPrincipal principal = new WindowsPrincipal(identity);

Если же вам необходимо проверять роль пользователя постоянно, то лучше создать объект WindowsPrincipal следующим образом:

// Указываем домену приложения политику ролевой безопасности // с помощью члена WindowsPrincipal перечисления PrincipalPolicy, // переданного в статический метод AppDomain.CurrentDomain. // SetPrincipalPolicy. AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); // После того как новая политика установлена, вы можете использовать // объект из статического свойства CurrentPrincipal класса Thread. WindowsPrincipal principal = System.Threading.Thread.CurrentPrincipal as WindowsPrincipal;

Создайте новое консольное приложение и назовите его WindowsIdentityandPrincipal. Далее привожу листинг с комментариями:

Листинг 10.2.

(html, txt)

В результате выводится полный список значений WindowsIdentity и WindowsPrincipal на данном компьютере (рис. 10.12).


Рис. 10.12.  Результат приложения WindowsIdentityandPrincipal

На диске, прилагаемом к книге, вы найдете приложение WindowsIdentityandPrincipal (Code\Glava10\ WindowsIdentityandPrincipal).



Содержание раздела