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)

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

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