ClientFormsAuthenticationMembershipProvider Classe

Definição

Permite a autenticação de formulários com serviços de aplicação cliente.

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

Exemplos

O seguinte exemplo de código demonstra como usar este método para validar o utilizador através de uma IClientFormsAuthenticationCredentialsProvider implementação.

private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with empty strings in order to display the 
        ' login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Observações

Pode usar serviços de aplicação cliente para validar utilizadores através da autenticação de formulários. Para ativar a autenticação de formulários, configura a sua aplicação para usar a ClientFormsAuthenticationMembershipProvider classe.

Após a configuração, pode validar os utilizadores chamando o staticMembership.ValidateUser método, que internamente chama o ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) método.

A autenticação de formulários exige que o utilizador especifique as suas credenciais através dos controlos de login fornecidos pela sua aplicação. Podes recuperar as credenciais e entregá-las ao Membership.ValidateUser método. Também pode passar em cadeias vazias ou null usar um fornecedor de credenciais. Um fornecedor de credenciais é uma IClientFormsAuthenticationCredentialsProvider implementação especificada no ficheiro de configuração da sua aplicação. Normalmente, irá implementar o IClientFormsAuthenticationCredentialsProvider.GetCredentials método para mostrar uma caixa de diálogo de login e devolver um objeto preenchido ClientFormsAuthenticationCredentials . Usar um fornecedor de credenciais permite-lhe partilhar uma única caixa de diálogo de login entre várias aplicações.

O ClientFormsAuthenticationMembershipProvider.ValidateUser método autentica os utilizadores através do serviço de login indicado pela ServiceUri propriedade. O valor da ServiceUri propriedade é normalmente recuperado do ficheiro de configuração da aplicação juntamente com outros valores de configuração.

Se o utilizador for autenticado com sucesso, o fornecedor de serviços define a staticThread.CurrentPrincipal propriedade para um novo ClientRolePrincipal objeto que contém um novo ClientFormsIdentity objeto que contém a informação do utilizador. Se a ClientRoleProvider estiver configurado para a sua aplicação, pode usar o ClientRolePrincipal objeto para recuperar informações de papéis de utilizador do serviço de papéis.

Pode obter uma referência à instância atual ClientFormsAuthenticationMembershipProvider através da staticMembership.Provider propriedade. Pode usar a referência do fornecedor de membros para ligar diretamente ao ClientFormsAuthenticationMembershipProvider.ValidateUser método. Além disso, vai precisar da referência do fornecedor de membros para ligar ao Logout método, que não está disponível na MembershipProvider classe base.

Não pode usar a ClientFormsAuthenticationMembershipProvider classe para criar, eliminar ou modificar informações de membros. Para criar, eliminar ou modificar utilizadores, deve alterar a configuração do serviço de login no servidor.

Construtores

Name Description
ClientFormsAuthenticationMembershipProvider()

Inicializa uma nova instância da ClientFormsAuthenticationMembershipProvider classe.

Propriedades

Name Description
ApplicationName

Esta propriedade não é utilizada por esta classe.

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

Esta propriedade não é utilizada por esta classe.

EnablePasswordRetrieval

Esta propriedade não é utilizada por esta classe.

MaxInvalidPasswordAttempts

Esta propriedade não é utilizada por esta classe.

MinRequiredNonAlphanumericCharacters

Esta propriedade não é utilizada por esta classe.

MinRequiredPasswordLength

Esta propriedade não é utilizada por esta classe.

Name

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

(Herdado de ProviderBase)
PasswordAttemptWindow

Esta propriedade não é utilizada por esta classe.

PasswordFormat

Esta propriedade não é utilizada por esta classe.

PasswordStrengthRegularExpression

Esta propriedade não é utilizada por esta classe.

RequiresQuestionAndAnswer

Esta propriedade não é utilizada por esta classe.

RequiresUniqueEmail

Esta propriedade não é utilizada por esta classe.

ServiceUri

Obtém ou define o URI do serviço de autenticação.

Métodos

Name Description
ChangePassword(String, String, String)

Este método não é utilizado por esta classe.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Este método não é utilizado por esta classe.

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

Este método não é utilizado por esta classe.

DecryptPassword(Byte[])

Desencripta uma palavra-passe encriptada.

(Herdado de MembershipProvider)
DeleteUser(String, Boolean)

Este método não é utilizado por esta classe.

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)

Este método não é utilizado por esta classe.

FindUsersByName(String, Int32, Int32, Int32)

Este método não é utilizado por esta classe.

GetAllUsers(Int32, Int32, Int32)

Este método não é utilizado por esta classe.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetNumberOfUsersOnline()

Este método não é utilizado por esta classe.

GetPassword(String, String)

Este método não é utilizado por esta classe.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUser(Object, Boolean)

Este método não é utilizado por esta classe.

GetUser(String, Boolean)

Este método não é utilizado por esta classe.

GetUserNameByEmail(String)

Este método não é utilizado por esta classe.

Initialize(String, NameValueCollection)

Inicializa o fornecedor.

Logout()

Faz logout do utilizador.

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)

Este método não é utilizado por esta classe.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
UnlockUser(String)

Este método não é utilizado por esta classe.

UpdateUser(MembershipUser)

Este método não é utilizado por esta classe.

ValidateUser(String, String, Boolean)

Autentica um utilizador usando o nome de utilizador e a palavra-passe especificados, armazenando opcionalmente um hash da palavra-passe na cache de dados local.

ValidateUser(String, String, String)

Autentica um utilizador no URI de serviço especificado usando o nome de utilizador e a palavra-passe especificados.

ValidateUser(String, String)

Autentica um utilizador usando o nome de utilizador e a palavra-passe especificados.

evento

Name Description
UserValidated

Ocorre quando o utilizador é validado.

ValidatingPassword

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

(Herdado de MembershipProvider)

Aplica-se a

Ver também