AuthorizationStoreRoleProvider Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет хранением сведений о членстве роли для приложения ASP.NET в хранилище управления проверкой подлинности, файле XML, Active Directory или на сервере ADAM.
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 с помощью хранилища диспетчера авторизации. Вы можете использовать управление ролями, чтобы указать различные уровни авторизации для приложения. Доступ к диспетчеру авторизации можно получить с помощью консоли управления (Майкрософт).
Объект AuthorizationStoreRoleProvider работает с режимами проверки подлинности Windows и проверки подлинности с помощью форм.
Вы можете настроить AuthorizationStoreRoleProvider объект для использования локального XML-файла либо сервера Active Directory или режима приложений Active Directory (ADAM). При использовании локального файла строка подключения должна выглядеть, как в следующем примере.
msxml://<path to xml file>
Если локальный файл хранится в дереве каталогов веб-приложения ASP.NET, можно указать корневой каталог с помощью символа тильды ("~"). Например, чтобы указать, что локальный файл хранится в каталоге данных веб-приложения, используйте строку подключения, аналогичную приведенному в следующем примере.
msxml://~\App_Data\datafilename.xml
Важно!
Хранение XML-файла данных в каталоге веб-приложения является потенциальной угрозой безопасности. По умолчанию СЛУЖБЫ IIS будут обслуживать ФАЙЛЫ XML-данных в Интернете. Чтобы повысить безопасность при использовании локального файла данных в приложении ASP.NET, следует сохранить файл данных в каталоге App_Data
. Файлы, хранящиеся в каталоге App_Data
, не будут обслуживаться в Интернете.
Если для хранилища политик используется сервер Active Directory или ADAM, строка подключения должна выглядеть примерно так, как показано в следующем примере.
msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com
Исключения, перечисленные в документации для AuthorizationStoreRoleProvider методов объекта, — это исключения, создаваемые AuthorizationStoreRoleProvider объектом . Так как поставщик полагается на базовую среду выполнения диспетчера проверки подлинности, COMException может возникать исключение, AuthorizationStoreRoleProvider когда объект перенаправит вызов метода в среду выполнения диспетчера проверки подлинности.
Важно!
Объект AuthorizationStoreRoleProvider имеет следующие требования для выполнения в средах с частичным доверием:
При использовании файлового хранилища политик в приложении ASP.NET разрешения на ввод-вывод файлов, предоставленные текущим уровнем доверия, определяют, разрешены ли действия чтения и записи поставщиком. Приложение ASP.NET должно иметь разрешение на чтение файла для чтения данных из хранилища политик и разрешение на запись для сохранения новых сведений или обновления существующих сведений в хранилище политик. Файл политики среднего доверия по умолчанию предоставляет ASP.NET разрешения на чтение и запись приложения в каталоге приложения. Файл политики низкого уровня доверия по умолчанию предоставляет только разрешение на чтение ASP.NET приложения в каталоге приложения. Кроме того, удостоверение процесса, под которым выполняется приложение ASP.NET, должно иметь разрешения файловой системы на чтение и (или) запись файла политики.
При использовании сервера Active Directory или ADAM приложению ASP.NET требуется разрешение неуправляемого кода, так как внутренний AuthorizationStoreRoleProvider объектный код использует COM-взаимодействие.
При использовании AuthorizationStoreRoleProvider объекта за пределами ASP.NET вызывающему коду требуется разрешение неуправляемого кода.
Конструкторы
AuthorizationStoreRoleProvider() |
Инициализирует новый экземпляр класса AuthorizationStoreRoleProvider. |
Свойства
ApplicationName |
Получает или задает имя приложения хранилища проверки подлинности, для которого будут сохраняться и извлекаться сведения о роли. |
CacheRefreshInterval |
Возвращает количество минут между обновлениями кэша данных хранилища политик. |
Description |
Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI). (Унаследовано от 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) |