Partager via


Comment : implémenter la connexion et la déconnexion utilisateur avec les services d'application cliente

Mise à jour : novembre 2007

Vous pouvez utiliser les services d'application cliente pour valider des utilisateurs par le biais d'un service de profil ASP.NET AJAX existant. Pour plus d'informations sur l'installation du service de profil ASP.NET AJAX, consultez Utilisation de l'authentification par formulaire avec ASP.NET AJAX.

Les procédures suivantes décrivent comment valider des utilisateurs par le biais du service d'authentification lorsque votre application est configurée pour utiliser l'un des fournisseurs de services d'authentification du client. Pour plus d'informations, consultez Comment : configurer les services d'application cliente.

En général, vous exécutez l'ensemble de la validation via la méthode static Membership.ValidateUser. Cette méthode gère l'interaction avec le service d'authentification par le biais du fournisseur d'authentification configuré. Pour plus d'informations, consultez Vue d'ensemble des services d'application cliente.

Les procédures d'authentification par formulaire requièrent l'accès à un service d'authentification ASP.NET AJAX en cours d'exécution. Pour obtenir des instructions sur le test complet des fonctionnalités des services d'application cliente, consultez Procédure pas à pas : utilisation des services d'application cliente.

Pour authentifier un utilisateur avec l'authentification par formulaire à l'aide d'un fournisseur d'informations d'identification d'appartenance

  1. Implémentez l'interface IClientFormsAuthenticationCredentialsProvider. L'exemple de code suivant indique une implémentation IClientFormsAuthenticationCredentialsProvider.GetCredentials d'une classe de boîte de dialogue de connexion dérivée de System.Windows.Forms.Form. Cette boîte de dialogue contient des zones de texte pour le nom d'utilisateur et le mot de passe ainsi qu'une case à cocher de mémorisation du mot de passe. Lorsque le fournisseur d'authentification du client appelle la méthode GetCredentials, le formulaire s'affiche. Lorsque l'utilisateur fournit les informations dans la boîte de dialogue de connexion et clique sur OK, les valeurs spécifiées sont retournées dans un nouvel objet 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. Appelez la méthode static Membership.ValidateUser et passez les chaînes vides comme valeurs de paramètre. Lorsque vous spécifiez des chaînes vides, cette méthode appelle en interne la méthode GetCredentials pour le fournisseur d'informations d'identification configuré pour votre application. L'exemple de code suivant appelle cette méthode pour restreindre l'accès à une application Windows Forms entière. Vous pouvez ajouter ce code à un gestionnaire 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();
    }
    

Pour authentifier un utilisateur avec l'authentification par formulaire sans utiliser un fournisseur d'informations d'identification d'appartenance

  • Appelez la méthode static Membership.ValidateUser et passez les valeurs de nom d'utilisateur et de mot de passe extraites de l'utilisateur.

    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();
    }
    

Pour authentifier un utilisateur avec l'authentification Windows

  • Appelez la méthode static Membership.ValidateUser et passez les chaînes vides pour les paramètres. Cet appel de méthode retourne toujours la valeur true et ajoute un cookie au cache de cookie de l'utilisateur qui contient l'identité Windows.

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

Programmation fiable

L'exemple de code dans cette rubrique montre les utilisations les plus simples de l'authentification dans une application cliente Windows. Toutefois, lorsque vous appelez la méthode static Membership.ValidateUser avec les services d'application cliente et l'authentification par formulaire, votre code peut lever une WebException. Cela indique que le service d'authentification n'est pas disponible. Pour obtenir un exemple illustrant la gestion de cette exception, consultez Procédure pas à pas : utilisation des services d'application cliente.

Voir aussi

Tâches

Comment : configurer les services d'application cliente

Procédure pas à pas : utilisation des services d'application cliente

Concepts

Vue d'ensemble des services d'application cliente

Utilisation de l'authentification par formulaire avec ASP.NET AJAX

Autres ressources

Services d'application cliente