Поставщики управления ролями

Visual Studio 2010

Обновлен: Ноябрь 2007

Службы управления ролями используют модель поставщика для разделения функциональных возможностей управления ролями — API — из хранилища данных, которое содержит сведения о роли. В состав платформы .NET Framework входят следующие поставщики, которые поддерживают сведения о роли в различных хранилищах данных:

  • SQL Server. Сведения о роли хранятся в базе данных SQL Server. Поставщик SQL подходит для средних и крупных веб-приложений. Это поставщик по умолчанию.

  • Windows (WindowsToken). Сведения о роли основаны на учетных записях Windows (пользователи и группы). Поставщик Windows применяется, только если приложение работает в сети, в которой все пользователи имеют учетные записи домена.

  • Диспетчер авторизации (AzMan). Для управления сведениями о роли используется XML-файл диспетчера авторизации или хранилище политик на основе каталогов.

Для указания поставщика следует установить атрибут defaultProvider при настройке управления ролями в файле Web.config приложения. Например, чтобы указать экземпляр поставщика ролей с именем «SQL» создайте следующую запись в элементе Элемент roleManager (схема параметров ASP.NET) файла конфигурации:

<roleManager 
   defaultProvider="SQL"enabled="true" 
   cacheRolesInCookie="true" >
</roleManager>

Роли могут использовать ту же базу данных, которая используется для служб членства и профиля пользователя. Однако по-прежнему можно указать различных поставщиков для каждой из этих служб. Сведения о настройке базы данных управления ролями см. в разделе Создание и настройка базы данных служб приложения для SQL Server.

Если указывается поставщик WindowsTokenRoleProvider, необходимо также настроить приложения для использования проверки подлинности Windows с помощью записи в файле Web.config, аналогичной следующей:

<authentication mode="Windows" />

Поставщик WindowsTokenRoleProvider не поддерживает большую часть функций управления API-интерфейса для управления ролями. Например при использовании поставщика WindowsTokenRoleProvider создание групп или добавление пользователей в группы с использованием управления ролями невозможно. Вместо этого необходимо выполнить эти функции в среде Windows.

Можно также создавать пользовательские поставщики управления ролями, которые позволяют задавать собственное хранилище сведений и роли или использовать существующее хранилище сведений о роли. Прежде всего необходимо создать класс, который наследует от абстрактного класса RoleProvider. Класс RoleProvider определяет методы, которые задает поставщик (которые в сущности являются теми же, что и в классе Roles).

После создания пользовательского поставщика ролей можно настроить приложение для использования этого поставщика таким же образом, как выполняется настройка приложения для использования одного из поставщиков, предоставляемых платформой .NET Framework. Система управления ролями затем автоматически вызывает пользовательского поставщика и его методы.

Дополнительные сведения см. в разделе Реализация поставщика ролей.

Показ: