Поделиться через


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
Наследование
AuthorizationStoreRoleProvider

Примеры

В следующем примере кода показан 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)

Применяется к

См. также раздел