Como: Implementar o Login do usuário com os serviços de aplicativos cliente

Você pode usar os serviços do aplicativo cliente para validar os usuários por meio de uma existente Microsoft Ajax perfil de serviço. Para obter informações sobre como configurar o Microsoft Ajax serviço de perfil, consulte Usando autenticação de formulários com o Microsoft Ajax.

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: Configura os serviços de aplicativo do cliente.

Normalmente você executará todas as validações por meio do método static Membership.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 uma execução Microsoft Ajax serviço de autenticação. Para obter orientação sobre testes ponto-a-ponto dos recursos de serviços aplicativo cliente, consulte Demonstra Passo a passo: Usando os serviços de aplicativo do 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 static Membership.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 static Membership.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 static Membership.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 static Membership.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 os serviços de aplicativo do cliente.

Consulte também

Tarefas

Como: Configura os serviços de aplicativo do cliente

Demonstra Passo a passo: Usando os serviços de aplicativo do cliente

Conceitos

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

Usando autenticação de formulários com o Microsoft Ajax

Outros recursos

Serviços de Aplicativo Cliente