AuthorizationStoreRoleProvider Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет хранилищем сведений о членстве в роли для приложения ASP.NET в хранилище политик диспетчера авторизации либо в XML-файле, в Active Directory, либо на сервере Active Directory режиме приложения.
public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
- Наследование
Примеры
В следующем примере кода показан набор файлов Web.config для AuthorizationStoreRoleProvider управления ролями.
<configuration>
<connectionStrings>
<add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
</connectionStrings>
<system.web>
<authentication mode="Windows" />
<identity impersonate="true" />
<roleManager defaultProvider="AuthorizationStoreRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<clear />
<add
name="AuthorizationStoreRoleProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationServices"
applicationName="SampleApplication"
cacheRefreshInterval="60"
scopeName="" />
</providers>
</roleManager>
</system.web>
</configuration>
Комментарии
Этот класс используется классами Roles и RolePrincipal для предоставления служб управления ролями для приложения ASP.NET с помощью хранилища диспетчера авторизации. Управление ролями можно использовать для указания различных уровней авторизации для приложения. К диспетчеру авторизации можно получить доступ с помощью консоль управления (MMC).
Объект AuthorizationStoreRoleProvider работает с режимами проверки подлинности проверка подлинности Windows и форм.
Можно настроить объект AuthorizationStoreRoleProvider для использования локального XML-файла или сервера Active Directory или Active Directory режима приложения (ADAM). При использовании локального файла строка подключения должен выглядеть следующим образом.
msxml://<path to xml file>
Если локальный файл хранится в дереве каталогов веб-приложения ASP.NET, можно использовать символ тильды (~), чтобы указать корневой каталог. Например, чтобы указать, что локальный файл хранится в каталоге данных веб-приложения, вы будете использовать строка подключения, как показано в следующем примере.
msxml://~\App_Data\datafilename.xml
Important
Хранение XML-файла данных в каталоге веб-приложения является потенциальной угрозой безопасности. По умолчанию СЛУЖБЫ IIS будут обслуживать XML-файлы данных в Интернете. Чтобы повысить безопасность при использовании локального файла данных в приложении ASP.NET, необходимо сохранить файл данных в каталоге App_Data. Файлы, хранящиеся в каталоге, App_Data не будут обслуживаться в Интернете.
Если для хранилища политик используется сервер Active Directory или АДАМ, строка подключения должен быть похож на следующий пример.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Исключения, перечисленные в документации по AuthorizationStoreRoleProvider методам объектов, являются исключениями, которые вызываются AuthorizationStoreRoleProvider объектом. Так как поставщик использует базовую среду выполнения Диспетчера проверки подлинности, COMException исключение может возникать всякий раз, когда AuthorizationStoreRoleProvider объект перенаправит вызов метода в среду выполнения Диспетчера проверки подлинности.
Important
Объект AuthorizationStoreRoleProvider имеет следующие требования для выполнения в средах с частичным доверием:
При использовании хранилища политик на основе файлов в приложении ASP.NET разрешения на ввод-вывод файла, предоставляемые текущим уровнем доверия, определяют, разрешены ли действия чтения и записи поставщиком. Приложение ASP.NET должно иметь разрешение на чтение файла для чтения данных из хранилища политик и иметь разрешение на запись для сохранения новых сведений или обновления существующих сведений в хранилище политик. Файл политики среднего доверия по умолчанию предоставляет ASP.NET разрешения на чтение и запись приложения в каталоге приложения. Файл политики низкого доверия по умолчанию предоставляет только разрешение на чтение приложения ASP.NET в каталоге приложения. Кроме того, удостоверение процесса, в котором выполняется приложение ASP.NET, должно иметь разрешения файловой системы для чтения и /или записи файла политики.
При использовании сервера Active Directory или АДАМ приложение ASP.NET требует разрешения неуправляемого кода, так как внутренний код AuthorizationStoreRoleProvider использует COM-взаимодействие.
При использовании объекта AuthorizationStoreRoleProvider за пределами ASP.NET вызывающий код должен иметь неуправляемые разрешения на код.
Конструкторы
| Имя | Описание |
|---|---|
| AuthorizationStoreRoleProvider() |
Инициализирует новый экземпляр класса AuthorizationStoreRoleProvider. |
Свойства
| Имя | Описание |
|---|---|
| ApplicationName |
Возвращает или задает имя приложения хранилища авторизации, для которого необходимо хранить и извлекать сведения о роли. |
| CacheRefreshInterval |
Возвращает количество минут между обновлениями кэша данных хранилища политик. |
| Description |
Получает краткое понятное описание, подходящее для отображения в средствах администрирования или других пользовательских интерфейсах (UIs). (Унаследовано от ProviderBase) |
| Name |
Возвращает понятное имя, используемое для ссылки на поставщика во время настройки. (Унаследовано от ProviderBase) |
| ScopeName |
Возвращает или задает имя области для хранилища авторизации. |
Методы
| Имя | Описание |
|---|---|
| AddUsersToRoles(String[], String[]) |
Добавляет указанные имена пользователей в каждую из указанных ролей. |
| CreateRole(String) |
Добавляет новую роль в хранилище политик диспетчера ролей. |
| DeleteRole(String, Boolean) |
Удаляет роль из хранилища политик диспетчера авторизации. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FindUsersInRole(String, String) |
Этот метод не поддерживается поставщиком ролей хранилища авторизации. |
| GetAllRoles() |
Возвращает список всех ролей для приложения. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetRolesForUser(String) |
Возвращает список ролей, в которые входит пользователь. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetUsersInRole(String) |
Возвращает список пользователей в указанной роли. |
| Initialize(String, NameValueCollection) |
Инициализирует поставщика ролей диспетчера авторизации со значениями свойств, указанными в файле конфигурации приложения ASP.NET. Этот метод не предназначен для использования непосредственно из кода. |
| IsUserInRole(String, String) |
Возвращает значение, указывающее, находится ли указанный пользователь в указанной роли. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| RemoveUsersFromRoles(String[], String[]) |
Удаляет указанные имена пользователей из указанных ролей. |
| RoleExists(String) |
Возвращает значение, указывающее, существует ли указанное имя роли в хранилище политик диспетчера авторизации. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |