Partilhar via


Como: Implementar o logon de usuário e efetuar Logout com aplicativo cliente Services

Você pode usar serviços de aplicativo cliente para validar os usuários através de um serviço de perfil ASP.NET AJAX existente.Para obter informações adicionais sobre como configurar o serviço de perfis ASP.NET AJAX, consulte Usando Formulários de Autenticação com AJAX do ASP.NET.

Os procedimentos a seguir descrevem como validar os usuários através de serviço de autenticação quando seu aplicativo é configurado para usar um dos provedores serviço de autenticação cliente.Para obter mais informações, consulte Como: Configurar serviços de aplicativos do cliente.

Normalmente você executará todas as validações por meio do método staticMembership.ValidateUser.Este método gerencia a interação com o serviço de autenticação por meio de um provedor de autenticação configurado.Para obter mais informações, consulte Visão geral dos serviços de aplicativos do cliente.

Os procedimentos de autenticação de formulários requerem o acesso a um serviço de autenticação ASP.NET AJAX em execução.Para obter orientação sobre testes ponto-a-ponto dos recursos de serviços aplicativo cliente, consulte Demonstra Passo a passo: Usando serviços aplicativo cliente.

Para autenticar um usuário com a autenticação de formulários usando um provedor de credenciais de participação

  1. Implementar a interface IClientFormsAuthenticationCredentialsProvider.O código exemplo a seguir mostra uma implementação IClientFormsAuthenticationCredentialsProvider.GetCredentials de uma classe de caixa de diálogo de login derivada de System.Windows.Forms.Form.Esta caixa de diálogo possui caixas de texto para nome de usuário e a senha e um caixa de seleção "Lembrar-me".Quando o cliente provedor de autenticação chama o método GetCredentials, o formulário é exibido.Quando o usuário preenche as informações na caixa de diálogo de login e clica em OK, os valores especificados são retornados em um novo objeto ClientFormsAuthenticationCredentials.

    Public Function GetCredentials() As  _
        ClientFormsAuthenticationCredentials Implements _
        IClientFormsAuthenticationCredentialsProvider.GetCredentials
    
        If Me.ShowDialog() = DialogResult.OK Then
            Return New ClientFormsAuthenticationCredentials( _
                UsernameTextBox.Text, PasswordTextBox.Text, _
                rememberMeCheckBox.Checked)
        Else
            Return Nothing
        End If
    
    End Function
    
    public ClientFormsAuthenticationCredentials GetCredentials()
    {
        if (this.ShowDialog() == DialogResult.OK)
        {
            return new ClientFormsAuthenticationCredentials(
                usernameTextBox.Text, passwordTextBox.Text,
                rememberMeCheckBox.Checked);
        }
        else
        {
            return null;
        }
    }
    
  2. Chame o método staticMembership.ValidateUser e passar em strings vazias como os valores de parâmetro.Quando você especificar strings vazias, este método chama internamente o método GetCredentials do provedor de credenciais configurado para o seu aplicativo.O código exemplo a seguir chama esse método para restringir o acesso a um aplicativo inteiro de Formulários do Windows.Você pode adicionar este código para um manipulador Form.Load.

    If Not System.Web.Security.Membership.ValidateUser( _
        String.Empty, String.Empty) Then
    
        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()
    
    End If
    
    if (!System.Web.Security.Membership.ValidateUser(
        String.Empty, String.Empty))
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    

Para autenticar um usurio com a autenticação de formulários usando um provedor de credenciais de participação

  • Chamada o método staticMembership.ValidateUser e passe no nome de usuário e a senha valores obtidos do usuário.

    If Not System.Web.Security.Membership.ValidateUser( _
        usernameTextBox.Text, passwordTextBox.Text) Then
    
        MessageBox.Show("Unable to authenticate.", "Not logged in", _
                MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()
    
    End If
    
    if (!System.Web.Security.Membership.ValidateUser(
        usernameTextBox.Text, passwordTextBox.Text))
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    

Para autenticar um usuário com a autenticação do Windows

  • Chamar o método staticMembership.ValidateUser e passe strings vazias como parâmetros.Esta chamada de método sempre retornará true e adicionará um cookie ao cache do usuário do cookie que contém a identidade do Windows.

    System.Web.Security.Membership.ValidateUser( _
        String.Empty, String.Empty)
    
    System.Web.Security.Membership.ValidateUser(
        String.Empty, String.Empty);
    

Programação robusta

O código exemplo neste tópico demonstra o uso mais simples de autenticação em um aplicativo cliente Windows.Quando você chamar o método staticMembership.ValidateUser com os serviços de aplicativo cliente e autenticação de formulários, no entanto, seu código pode lançar uma WebException.Isso indica que o serviço de autenticação está indisponível.Para obter um exemplo de como tratar essa exceção, consulte Demonstra Passo a passo: Usando serviços aplicativo cliente.

Consulte também

Tarefas

Como: Configurar serviços de aplicativos do cliente

Demonstra Passo a passo: Usando serviços aplicativo cliente

Conceitos

Visão geral dos serviços de aplicativos do cliente

Usando Formulários de Autenticação com AJAX do ASP.NET

Outros recursos

Serviços de Aplicativo Cliente