Рассмотрим пример, использующий метод IsInRole() для проверки того, является ли текущий пользователь членом роли под названием Admin:
if (HttpContext.Current.User.IsInRole("Admin"))
{
// (Делать что-то.)
}
При использовании аутентификации Windows или аутентификации с помощью форм объект-принципал создается автоматически. Однако этот объект можно также создать "на лету", с информацией о пользователе и роли, извлеченной из другого места, такого как пользовательская база данных. Примеры обоих способов вы увидите в последующих главах.
Подобно интерфейсу IPrincipal, интерфейс IIdentity представляет соглашение, не зависящее от используемой схемы аутентификации. Все объекты личности должны реализовывать IIdentity. Интерфейс IIdentity определяет базовую информацию, необходимую для представления текущего пользователя. Как минимум, это включает в себя три следующих свойства, доступных только для чтения:
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
lblUserName.Text = HttpContext.Current.User.Identity.Name +
" зарегистрирован";
}
Тип объекта личности зависит от типа используемой аутентификации. Всего четыре класса идентичности включены в .NET Framework:
предыдущая следующая страница вначало главы оглавление
824