SqlMembershipProvider Classe

Definição

Gerir o armazenamento da informação de membros de uma aplicação ASP.NET numa base de dados SQL Server.

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

Exemplos

O exemplo de código seguinte mostra o ficheiro Web.config para uma aplicação ASP.NET configurada para usar um SqlMembershipProvider.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="SqlProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="false"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="5"
          passwordAttemptWindow="10" />
      </providers>
    </membership>
  </system.web>
</configuration>

Observações

Note

ASP.NET fornecedores de adesão foram substituídos pelo ASP.NET Identity. Recomendamos vivamente a atualização das aplicações para utilizarem a plataforma ASP.NET Identity em vez dos fornecedores de membros.

Esta classe é usada pelas classes Membership e MembershipUser para fornecer serviços de adesão a uma aplicação ASP.NET usando uma base de dados SQL Server. Não podes usar um SqlMembershipProvider sem SQL Server. Quando o seu computador tem SQL Server Express instalado com o nome da instância padrão e a instância do utilizador ativados, o objeto SqlMembershipProvider criará uma base de dados chamada aspnetdb no diretório App_Data da aplicação na primeira execução da aplicação.

Para criar manualmente a base de dados, execute o executável Aspnet_regsql.exe encontrado na pasta %systemroot%\Microsoft.NET\Framework\ versionNumber e especifique a opção -A m (por exemplo, aspnet_regsql.exe -A m). A base de dados criada chama-se Aspnetdb. Alternativamente, execute Aspnet_regsql.exe para abrir o modo de configuração da interface gráfica e escolha configurar todas as ASP.NET Funcionalidades.

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

O ficheiro Machine.config define uma instância SqlMembershipProvider por defeito chamada AspNetSqlMembershipProvider que se liga à instância SQL Server Express por defeito na máquina local. Pode usar esta instância do fornecedor se instalou SQL Server Express com o nome de instância predefinido, ou pode definir a sua própria instância no ficheiro Web.config da sua aplicação ASP.NET.

Se definires o atributo passwordCompatMode para Framework40, a aplicação pode usar as opções de hash e encriptação de adesão que foram adicionadas em ASP.NET 4. No entanto, se o atributo passwordCompatMode for definido para Framework20, apenas as opções de hash e encriptação dos SP1 ASP.NET 2.0, ASP.NET 3.5 e ASP.NET 3.5 podem ser usadas. O valor predefinido é Framework20. Para obter mais informações, veja MembershipPasswordCompatibilityMode.

Construtores

Name Description
SqlMembershipProvider()

Inicializa uma nova instância da SqlMembershipProvider classe.

Propriedades

Name Description
ApplicationName

Obtém ou define o nome da aplicação para armazenar e recuperar informações de membro.

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

Recebe um valor que indica se o fornecedor de membros do SQL Server está configurado para permitir que os utilizadores redefinam as suas palavras-passe.

EnablePasswordRetrieval

Recebe um valor que indica se o fornecedor de adesão ao SQL Server está configurado para permitir que os utilizadores recuperem as suas palavras-passe.

MaxInvalidPasswordAttempts

Obtém o número de tentativas inválidas de palavra-passe ou de resposta por palavra-passe permitidas antes de o utilizador de subscrição ficar bloqueado.

MinRequiredNonAlphanumericCharacters

Obtém o número mínimo de caracteres especiais que devem estar presentes numa palavra-passe válida.

MinRequiredPasswordLength

Obtém o comprimento mínimo necessário para uma palavra-passe.

Name

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

(Herdado de ProviderBase)
PasswordAttemptWindow

Obtém a janela temporal entre a qual tentativas consecutivas falhadas de fornecer uma palavra-passe válida ou respostas por palavra-passe são acompanhadas.

PasswordFormat

Recebe um valor que indica o formato para armazenar palavras-passe na base de dados de membros do SQL Server.

PasswordStrengthRegularExpression

Obtém a expressão regular usada para avaliar uma palavra-passe.

RequiresQuestionAndAnswer

Recebe um valor que indica se o fornecedor de membros do SQL Server está configurado para exigir que o utilizador responda a uma pergunta de palavra-passe para reposição e recuperação de palavra-passe.

RequiresUniqueEmail

Recebe um valor que indica se o fornecedor de adesão ao SQL Server está configurado para exigir um endereço de email único para cada nome de utilizador.

Métodos

Name Description
ChangePassword(String, String, String)

Modifica a palavra-passe do utilizador.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Atualiza a pergunta e resposta da palavra-passe para um utilizador na base de dados de membros do SQL Server.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Adiciona um novo utilizador à base de dados de membros do SQL Server.

DecryptPassword(Byte[])

Desencripta uma palavra-passe encriptada.

(Herdado de MembershipProvider)
DeleteUser(String, Boolean)

Remove a informação de adesão do utilizador da base de dados de membros do SQL Server.

EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Encripta a palavra-passe especificada usando o modo de compatibilidade de palavra-passe especificado.

(Herdado de MembershipProvider)
EncryptPassword(Byte[])

Encripta uma palavra-passe.

(Herdado de MembershipProvider)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Devolve uma coleção de utilizadores de membros para a qual o campo de endereço de email contém o endereço de email especificado.

FindUsersByName(String, Int32, Int32, Int32)

Obtém uma coleção de utilizadores de membros onde o nome de utilizador contém o nome de utilizador especificado para corresponder.

GeneratePassword()

Gera uma palavra-passe aleatória com pelo menos 14 caracteres.

GetAllUsers(Int32, Int32, Int32)

Obtém uma coleção de todos os utilizadores na base de dados de membros do SQL Server.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetNumberOfUsersOnline()

Devolve o número de utilizadores que atualmente acedem à aplicação.

GetPassword(String, String)

Devolve a palavra-passe do nome de utilizador especificado da base de dados de membros do SQL Server.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUser(Object, Boolean)

Obtém a informação da fonte de dados do utilizador de membros associada ao identificador único especificado e atualiza a data/hora da última atividade para o utilizador, se especificado.

GetUser(String, Boolean)

Devolve informações da base de dados de membros do SQL Server para um utilizador e fornece uma opção para atualizar a data/hora da última atividade para o utilizador.

GetUserNameByEmail(String)

Obtém o nome de utilizador associado ao endereço de email especificado.

Initialize(String, NameValueCollection)

Inicializa o fornecedor de membros 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.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Levanta o ValidatingPassword evento se um gestor de eventos tiver sido definido.

(Herdado de MembershipProvider)
ResetPassword(String, String)

Redefine a palavra-passe de um utilizador para uma nova palavra-passe gerada automaticamente.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
UnlockUser(String)

Elimina o estado de bloqueio do utilizador para que o utilizador de membro possa ser validado.

UpdateUser(MembershipUser)

Atualiza informações sobre um utilizador na base de dados de membros do SQL Server.

ValidateUser(String, String)

Verifica se o nome de utilizador e a palavra-passe especificados existem na base de dados de membros do SQL Server.

evento

Name Description
ValidatingPassword

Ocorre quando um utilizador é criado, uma palavra-passe é alterada ou uma palavra-passe é redefinida.

(Herdado de MembershipProvider)

Aplica-se a

Ver também