SqlRoleProvider Classe

Definição

Gerencia o armazenamento das informações de associação de função de um aplicativo ASP.NET em um banco de dados SQL Server.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Herança
SqlRoleProvider

Exemplos

O exemplo a seguir mostra o arquivo Web.config para um aplicativo ASP.NET configurado para usar um SqlRoleProvider objeto e o SqlMembershipProvider. O authorization elemento é configurado para permitir apenas o acesso a usuários autenticados na função Administradores.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow roles="Administrators" />
      <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          passwordFormat="Hashed"
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

Comentários

Essa classe é usada pela classe e RolePrincipal pelas Roles classes para fornecer serviços de gerenciamento de função para um aplicativo ASP.NET usando um banco de dados SQL Server. Você pode usar o gerenciamento de função para especificar diferentes níveis de autorização para seu aplicativo.

Para usar a SqlRoleProvider classe, primeiro você deve criar o banco de dados SQL Server usado pelo SqlRoleProvider. Para criar o banco de dados usado pela SqlRoleProvider classe, execute o aspnet_regsql.exe executável encontrado na pasta C:\WINDOWS\Microsoft.NET\Framework\ versionNumber e especifique a opção -Ar (por exemplo, aspnet_regsql.exe -Ar). O banco de dados criado se chama Aspnetdb. Como alternativa, execute aspnet_regsql.exe para efetuar pull do modo de configuração de GUI e optar por configurar todos os recursos ASP.NET.

Se o provedor de função estiver configurado com uma cadeia de conexão que usa segurança integrada, a conta de processo do aplicativo ASP.NET deverá ter direitos para se conectar ao banco de dados SQL Server.

O arquivo Machine.config é configurado com uma SqlRoleProvider instância chamada AspNetSqlProvider que se conecta ao SQL Server no computador local. Você pode usar essa instância do provedor ou especificar sua própria no arquivo Web.config para seu aplicativo ASP.NET. Para usar a instância aspNetSqlProvider, especifique AspNetSqlProvider como o defaultProvider na configuração.

Você pode configurar para SqlRoleProvider usar as mesmas informações SqlMembershipProvider de banco de dados e de usuário para usar um banco de dados único para informações de autenticação e autorização. Para usar o mesmo banco de dados para informações de associação e função, execute o aspnet_regsql.exe executável e instale o recurso de associação. Em seguida, especifique a mesma cadeia de conexão em sua configuração para suas SqlRoleProvider instâncias e SqlMembershipProvider instâncias. Verifique também se ambas as instâncias do provedor estão configuradas com o mesmo ApplicationName.

Construtores

SqlRoleProvider()

Cria uma instância de SqlRoleProvider classe.

Propriedades

ApplicationName

Obtém ou define o nome do aplicativo no qual as informações de função serão armazenadas e recuperadas.

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)

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 banco de dados de função.

DeleteRole(String, Boolean)

Remove uma função de banco de dados de função.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindUsersInRole(String, String)

Obtém uma matriz de nomes de usuário em uma função em que o nome de usuário contém o nome de usuário especificado para corresponder.

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 SQL Server 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 da função especificada já existe no banco de dados de função.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também