на начало
На главную страницу
Форум   

Статья :: Другие классы личностей


Другие классы личностей

Теперь более подробно рассмотрим другие классы личностей. Сейчас в .NET Framework есть четыре таких класса:

  • Forms Identity используется классом FormsAuthenticationModule. Мы поговорим о классе Forms Identity, когда будет обсуждаться опознавание форм ASP.NET;
  • Genericldentity может представлять любого пользователя. Этот класс используется вместе с GenericPrincipal для общих или пользовательских личностей и принципалов;
  • Passportldentity используется при опознавании по схеме Passport (Паспорт). Так как Passport (Паспорт) мы не обсуждаем, то речи об этом классе вести не будем;
  • Windows Identity представляет пользователя Windows. У экземпляра WindowsPrincipal значением его свойства Identity будет экземпляр Windowsldentity. Для аутентифицированных пользователей доступен тип используемого опознавания (NTLM, Kerberos (Цербер) и т.д.).

Обратите внимание, что свойства интерфейса I Identity доступны только для чте-"ния и поэтому не могут быть изменены.
Даже если ваши пользователи не аутентифицированы, вы все равно можете получить Windowsldentity для любого потока. Экземпляр Windowsldentity для текущего пользователя можно получить, используя статический метод Windowsldentity:: GetCurrent. И тогда из этого экземпляра Windowsldentity можно с помощью конструктора WindowsPrincipal получить экземпляр WindowsPrincipal. Ну, а что представляет собой эта личность, мы обсудим в следующем разделе.
Среди примеров этой главы не было варианта программы HotelBroker, который нельзя запускать, если у вас нет роли HotelBrokerAdmin. Однако нужные изменения в предыдущем варианте вы можете сделать сами. В качестве руководства используйте следующий код:

AppDomain *ap = AppDomain::CurrentDomain; ap->SetPrincipalPolicy(
PrincipalPolicy::WindowsPrincipal) ; IPrincipal *ip;
ip = Thread::CurrentPrincipal;
String *hotelAdminRole = "HPDESKTOP\\HotelAdmin"; // Строка if(!ip->IsInRole(hotelAdminRole)) {
MessageBox::Show(
"Sorry. You must be a Hotel Administrator.",
// "Жаль. Вы должны быть Администратором гостиницы.",
"Acme Customer Management System",
// "Система управления Клиентами Acme ",
MessageBoxButtons::ОК,
MessageBoxIcon::Exclamation); // Восклицательный знак return 0; }


Другие классы личностей

страницы в данном разделе 
Глава 13. Защита Защита
Защита на основе пользователей Защита доступа к коду
Политика безопасности Разрешения
lnternet-безопасность Информационный сервер Internet: Internet Information Server (MS)
Защита .NET на основе ролей Принципалы и личности
Роли .NET в Windows Другие классы личностей
Личность в операционной системе и общеязыковой среде выполнения CLR Разрешения коду на доступ
Простой запрос разрешения кодом Как работает запрос на разрешение
Стратегия запроса разрешений Запрет разрешений
Утверждение разрешений Другие методы разрешений
Класс SecurityPermission Неуправляемый код
Разрешения на основе атрибутов Разрешение принципала
Класс PermissionSet Личность кода
Классы разрешений для личности Подтверждение
Политика безопасности Уровни политики безопасности
Кодовые группы Именованные наборы разрешений
Изменение политики безопасности Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста