SqlRoleProvider Classe

Definição

Gerir o armazenamento da informação de pertença a funções para uma aplicação ASP.NET numa base 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 seguinte mostra o ficheiro Web.config de uma aplicação ASP.NET configurada para usar um objeto SqlRoleProvider e o SqlMembershipProvider. O authorization elemento está configurado para permitir o acesso apenas a utilizadores autenticados na função de 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>

Observações

Esta classe é utilizada pelas classes Roles e RolePrincipal para fornecer serviços de gestão de funções para uma aplicação ASP.NET utilizando uma base de dados SQL Server. Pode usar a gestão de funções para especificar diferentes níveis de autorização para a sua candidatura.

Para usar a classe SqlRoleProvider, deve primeiro criar a base de dados SQL Server usada pelo SqlRoleProvider. Para criar a base de dados usada pela classe SqlRoleProvider, execute o executável aspnet_regsql.exe encontrado na pasta C:\WINDOWS\Microsoft.NET\Framework\ versionNumber e especifique a opção -Ar (por exemplo, aspnet_regsql.exe -Ar). A base de dados criada chama-se Aspnetdb. Alternativamente, executa aspnet_regsql.exe para abrir o modo de configuração da interface gráfica e escolhe configurar todas as ASP.NET funcionalidades.

Se o fornecedor de funções estiver configurado com uma cadeia de ligação que utiliza segurança integrada, a conta de processo da aplicação ASP.NET deve ter direitos para se ligar à base de dados do SQL Server.

O ficheiro Machine.config está configurado com uma instância SqlRoleProvider chamada AspNetSqlProvider que se liga ao SQL Server na máquina local. Pode usar esta instância do fornecedor, ou especificar a sua própria no ficheiro de Web.config da sua candidatura de ASP.NET. Para usar a instância AspNetSqlProvider, especifique AspNetSqlProvider na defaultProvider sua configuração.

Pode configurar o SqlRoleProvider para usar a mesma base de dados e informação de utilizador que o SqlMembershipProvider para usar uma única base de dados para informações de autenticação e autorização. Para usar a mesma base de dados para informações de membros e funções, execute o executável aspnet_regsql.exe e instale a funcionalidade de membro. Depois, especifique o mesmo cadeia de ligação na sua configuração tanto para as instâncias SqlRoleProvider como para SqlMembershipProvider. Certifique-se também de que ambas as instâncias do fornecedor estão configuradas com o mesmo ApplicationName.

Construtores

Name Description
SqlRoleProvider()

Cria uma instância da SqlRoleProvider classe.

Propriedades

Name Description
ApplicationName

Obtém ou define o nome da aplicação para a qual armazenar e recuperar a informação do papel.

Description

Recebe uma descrição breve e amigável, adequada para exibição em ferramentas administrativas ou outras interfaces de utilizador (UIs).

(Herdado de ProviderBase)
Name

Recebe o nome amigável usado para se referir ao fornecedor durante a configuração.

(Herdado de ProviderBase)

Métodos

Name Description
AddUsersToRoles(String[], String[])

Adiciona os nomes de utilizador especificados a cada um dos papéis especificados.

CreateRole(String)

Adiciona um novo papel à base de dados de funções.

DeleteRole(String, Boolean)

Remove um papel da base de dados de papéis.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindUsersInRole(String, String)

Obtém um array de nomes de utilizador num papel onde o nome de utilizador contém o nome de utilizador especificado para corresponder.

GetAllRoles()

Obtém uma lista de todas as funções da candidatura.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetRolesForUser(String)

Obtém uma lista dos papéis em que um utilizador se encontra.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUsersInRole(String)

Obtém uma lista de utilizadores na função especificada.

Initialize(String, NameValueCollection)

Inicializa o fornecedor de funções do SQL Server com os valores de propriedade especificados no ficheiro de configuração da aplicação ASP.NET. Este método não foi pensado para ser usado diretamente a partir do seu código.

IsUserInRole(String, String)

Recebe um valor que indica se o utilizador especificado está no papel especificado.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

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

Remove os nomes de utilizador especificados dos papéis especificados.

RoleExists(String)

Obtém um valor que indica se o nome do papel especificado já existe na base de dados de funções.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também