Comment : implémenter la connexion utilisateur avec les services d'application cliente
Vous pouvez utiliser les services d'application cliente pour valider des utilisateurs par le biais d'un service de profil Microsoft Ajax existant. Pour plus d'informations sur l'installation du service de profil Microsoft Ajax, consultez Utilisation de l'authentification par formulaire avec Microsoft 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 Microsoft 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
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; } }
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 Microsoft Ajax