AuthorizationStoreRoleProvider Classe

Definição

Gerencia o armazenamento de informações de associação de função para um aplicativo ASP.NET em um repositório de políticas do gerenciador de autorização, seja em um arquivo XML, em um Active Directory ou em um servidor do AD LDS.

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
Herança
AuthorizationStoreRoleProvider

Exemplos

O exemplo de código a seguir mostra um arquivo Web.config definido para usar o AuthorizationStoreRoleProvider para o gerenciamento de função.

<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>

Comentários

Essa classe é usada pelas Roles classes e RolePrincipal para fornecer serviços de gerenciamento de função para um aplicativo ASP.NET usando um repositório de gerenciador de autorização. Você pode usar o gerenciamento de função para especificar diferentes níveis de autorização para seu aplicativo. O gerenciador de autorização pode ser acessado usando o Console de Gerenciamento da Microsoft.

O AuthorizationStoreRoleProvider objeto funciona com os modos de autenticação de formulários e autenticação do Windows.

Você pode configurar o AuthorizationStoreRoleProvider objeto para usar um arquivo XML local ou um servidor do Active Directory ou do ADAM (Modo de Aplicativo do Active Directory). Ao usar um arquivo local, a cadeia de conexão deve ser semelhante ao exemplo a seguir.

msxml://<path to xml file>

Se o arquivo local estiver armazenado na árvore de diretório de um aplicativo Web ASP.NET, você poderá usar o caractere til ("~") para indicar o diretório raiz. Por exemplo, para indicar que o arquivo local é armazenado no diretório de dados do aplicativo Web, você usaria uma cadeia de conexão semelhante ao exemplo a seguir.

msxml://~\App_Data\datafilename.xml

Importante

Armazenar um arquivo de dados XML no diretório do aplicativo Web é uma possível ameaça à segurança. Por padrão, o IIS fornecerá arquivos de dados XML para a Web. Para melhorar a segurança ao usar um arquivo de dados local em um aplicativo ASP.NET, você deve armazenar o arquivo de dados no App_Data diretório. Os arquivos armazenados no App_Data diretório não serão atendidos na Web.

Se você estiver usando um servidor Active Directory ou ADAM para o repositório de políticas, sua cadeia de conexão deverá ser semelhante ao exemplo a seguir.

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

As exceções listadas na documentação para AuthorizationStoreRoleProvider métodos de objeto são as exceções geradas pelo AuthorizationStoreRoleProvider objeto . Como o provedor depende do runtime do Gerenciador de Autenticação subjacente, uma COMException exceção pode ser gerada sempre que o AuthorizationStoreRoleProvider objeto encaminha uma chamada de método para o runtime do Gerenciador de Autenticação.

Importante

O AuthorizationStoreRoleProvider objeto tem os seguintes requisitos para execução em ambientes de confiança parcial:

Ao usar um repositório de políticas baseado em arquivo em um aplicativo ASP.NET, as permissões de E/S de arquivo concedidas pelo nível de confiança atual determinam se as ações de leitura e gravação são permitidas pelo provedor. O aplicativo ASP.NET deve ter permissão de leitura no arquivo para ler dados do repositório de políticas e deve ter permissão de gravação para salvar novas informações ou atualizar as informações existentes no repositório de políticas. O arquivo de política de confiança média padrão fornece uma ASP.NET permissões de leitura/gravação do aplicativo em seu diretório de aplicativo. O arquivo de política de baixa confiança padrão fornece apenas uma permissão de leitura de aplicativo ASP.NET no diretório do aplicativo. Além disso, a identidade do processo sob a qual o aplicativo ASP.NET é executado deve ter permissões do sistema de arquivos para ler e/ou gravar o arquivo de política.

Ao usar um servidor Active Directory ou ADAM, o aplicativo ASP.NET precisa de permissão de código não gerenciado porque o código de objeto interno AuthorizationStoreRoleProvider usa a interoperabilidade COM.

Ao usar o AuthorizationStoreRoleProvider objeto fora de ASP.NET, o código de chamada precisa de permissão de código não gerenciado.

Construtores

AuthorizationStoreRoleProvider()

Inicializa uma nova instância da classe AuthorizationStoreRoleProvider.

Propriedades

ApplicationName

Obtém ou define o nome do aplicativo de repositório de autorização para o qual armazenar e recuperar informações de função.

CacheRefreshInterval

Obtém o número de minutos entre atualizações de cache dos dados do repositório de políticas.

Description

Obtém uma breve descrição amigável adequada para exibição em ferramentas administrativas ou outras IUs (interfaces do usuário).

(Herdado de ProviderBase)
Name

Obtém o nome amigável usado para referir-se ao provedor durante a configuração.

(Herdado de ProviderBase)
ScopeName

Obtém ou define o nome do escopo para o repositório de autorização.

Métodos

AddUsersToRoles(String[], String[])

Adiciona os nomes de usuário especificados a cada uma das funções especificadas.

CreateRole(String)

Adiciona uma nova função ao repositório de políticas do gerenciador de autorização de função.

DeleteRole(String, Boolean)

Remove uma função do repositório de políticas do gerenciador de autorização.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindUsersInRole(String, String)

Este método não é compatível com o provedor de função de repositório de autorização.

GetAllRoles()

Obtém uma lista de todas as funções do aplicativo.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetRolesForUser(String)

Obtém uma lista das funções de que o usuário faz parte.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUsersInRole(String)

Obtém uma lista de usuários na função especificada.

Initialize(String, NameValueCollection)

Inicializa o provedor de função do gerenciador de autorização com os valores de propriedade especificados no arquivo de configuração do aplicativo ASP.NET. Esse método não se destina a ser usado diretamente do seu código.

IsUserInRole(String, String)

Obtém um valor que indica se o usuário especificado está na função especificada para a função especificada.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RemoveUsersFromRoles(String[], String[])

Remove os nomes de usuário especificados das funções especificadas.

RoleExists(String)

Obtém um valor que indica se o nome de função especificado já existe no repositório de políticas do gerenciador de autorização.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também