Partager via


Vue d'ensemble des services d'application cliente

Mise à jour : novembre 2007

Les services d'application cliente fournissent l'accès simplifié aux services de connexion, de rôles et de profils d'ASP.NET AJAX à partir des applications Windows Forms et Windows Presentation Foundation (WPF). Les services d'application d'ASP.NET AJAX sont inclus dans Microsoft ASP.NET 2.0 AJAX Extensions, lui-même inclus dans Visual Studio 2008 et le .NET Framework version 3.5. Ces services permettent à plusieurs applications Web et Windows de partager des informations utilisateur et des fonctionnalités de gestion de l'utilisateur sur un serveur unique.

Les services d'application cliente incluent des fournisseurs de services clients qui se connectent au modèle d'extensibilité des services Web afin d'activer les fonctions suivantes pour les applications Windows :

  • Configuration client simple. Vous pouvez activer et configurer les services de connexion, de rôles et de profils en utilisant le concepteur de projets Visual Studio ou en spécifiant des fournisseurs de services clients dans le fichier App.config de votre projet. Pour plus d'informations, consultez Comment : configurer les services d'application cliente.

  • Programmabilité simple. Après avoir activé et configuré les services d'application cliente, vous pouvez accéder indirectement aux fournisseurs de services via des classes de paramètres d'application, de rôle et d'appartenance .NET Framework 2.0. Vous pouvez aussi accéder directement aux classes du .NET Framework version 3.5 Service Pack 1 qui implémentent les services d'application cliente. Toutefois, dans la plupart des cas, l'accès direct n'est pas nécessaire. Pour plus d'informations sur les classes de services d'application cliente, consultez la section Classes de services d'application cliente de cette rubrique.

  • Assistance hors connexion. Les applications Windows doivent souvent fonctionner dans des environnements occasionnellement connectés. Lorsque votre application est en ligne, les fournisseurs de services clients mettent en cache les valeurs extraites du serveur afin qu'elles puissent être utilisées lorsque l'application est hors connexion. Pour plus d'informations, consultez Comment : travailler hors connexion avec les services d'application cliente.

  • Intégration avec le concepteur des paramètres d'application Visual Studio. Lorsque vous ajoutez des paramètres à votre projet dans Visual Studio, vous pouvez spécifier quels paramètres seront accessibles via le fournisseur de services de paramètres client.

Les sections suivantes décrivent ces fonctionnalités de façon approfondie. Pour plus d'informations sur les services d'application ASP.NET AJAX, consultez Vue d'ensemble des services d'application ASP.NET.

Authentification

Vous pouvez utiliser des services d'application cliente pour valider un utilisateur via un service d'authentification ASP.NET AJAX existant. Vous pouvez valider un utilisateur en utilisant l'authentification Windows ou l'authentification par formulaire. L'authentification Windows signifie que l'identité de l'utilisateur est celle fournie par le système d'exploitation lorsqu'un utilisateur se connecte à un ordinateur ou un domaine. Vous utilisez généralement l'authentification Windows avec une application déployée sur un intranet d'entreprise. L'authentification par formulaire signifie que vous devez inclure des contrôles de connexion dans votre application et transmettre les informations d'identification acquises au fournisseur d'authentification. Vous utilisez généralement l'authentification par formulaire avec une application déployée sur Internet.

Pour valider un utilisateur, vous appelez la méthode static Membership.ValidateUser. Cette méthode accède au fournisseur de services client configuré pour votre application et retourne une valeur Boolean qui indique si l'utilisateur est valide. Pour plus d'informations, consultez Comment : implémenter la connexion et la déconnexion utilisateur avec les services d'application cliente.

Lorsque vous utilisez l'authentification Windows, vous devez passer des chaînes vides ou la valeur null en tant que paramètres de la méthode ValidateUser. Lorsque vous utilisez l'authentification Windows, cet appel de méthode retourne toujours la valeur true.

Avec l'authentification par formulaire, la méthode ValidateUser retourne une valeur indiquant si le service distant a authentifié l'utilisateur. Si la validation réussit, un cookie d'authentification est stocké sur le disque dur local. Ce cookie est utilisé pour confirmer la validation lors de l'accès aux rôles et services de paramètres.

Lorsque vous utilisez l'authentification par formulaire, vous pouvez passer un nom d'utilisateur et un mot de passe à la méthode ValidateUser. Vous pouvez également passer des chaînes vides ou la valeur null comme paramètres pour utiliser un fournisseur d'informations d'identification. Un fournisseur d'informations d'identification est une classe que vous fournissez et spécifiez dans la configuration de l'application. Une classe de fournisseur d'informations d'identification doit implémenter l'interface IClientFormsAuthenticationCredentialsProvider, qui a une méthode unique nommée GetCredentials. L'utilisation d'un fournisseur d'informations d'identification vous permet de partager une même boîte de dialogue de connexion entre plusieurs applications. Pour plus d'informations, consultez Comment : configurer les services d'application cliente.

Lorsque vous configurez votre application pour utiliser un fournisseur d'informations d'identification avec l'authentification par formulaire, vous devez passer des chaînes vides ou la valeur null comme paramètres de la méthode ValidateUser. Le fournisseur de services appelle ensuite votre implémentation de méthode IClientFormsAuthenticationCredentialsProvider.GetCredentials. En général, vous implémentez cette méthode pour afficher une boîte de dialogue et retourner un objet ClientFormsAuthenticationCredentials rempli.

Pour plus d'informations sur l'authentification, consultez Authentification ASP.NET. Pour plus d'informations sur la configuration du service d'authentification WCF d'ASP.NET AJAX, consultez Utilisation de l'authentification par formulaire avec ASP.NET AJAX.

Rôles

Vous pouvez utiliser des services d'application cliente pour extraire des informations de rôle d'un service de rôles ASP.NET AJAX existant. Pour déterminer si l'utilisateur authentifié en cours a un rôle spécifique, appelez la méthode IsInRole de la référence IPrincipal extraite de la propriété static Thread.CurrentPrincipal. La méthode IsInRole utilise le nom de rôle en tant que paramètre et retourne une valeur Boolean indiquant si l'utilisateur en cours a le rôle spécifié. Cette méthode retourne false si l'utilisateur n'est pas authentifié ou n'a pas le rôle spécifié.

Pour plus d'informations, consultez Comment : accéder aux rôles d'utilisateurs avec les services d'application cliente. Pour plus d'informations sur la configuration du service de rôles d'ASP.NET AJAX, consultez Utilisation d'informations de rôle avec ASP.NET AJAX.

Paramètres

Vous pouvez utiliser des services d'application cliente pour extraire des paramètres d'application utilisateur d'un service de profil ASP.NET AJAX existant. La fonctionnalité des paramètres Web des services d'application cliente est intégrée à la fonctionnalité des paramètres d'application fournie dans .NET Framework 2.0. Pour extraire des paramètres Web, commencez par générer une classe Settings (accessible en tant que Properties.Settings.Default en C# et My.Settings en Visual Basic) pour votre projet à l'aide de l'onglet Paramètres du concepteur de projets Visual Studio. Sous l'onglet Paramètres, vous pouvez utiliser le bouton Charger les paramètres Web pour extraire des paramètres Web et les ajouter à la classe Settings générée. Vous pouvez utiliser les paramètres Web configurés pour une utilisation par tous les utilisateurs authentifiés ou par tous les utilisateurs anonymes.

Pour plus d'informations, consultez Comment : accéder aux paramètres utilisateur avec les services d'application cliente. Pour plus d'informations sur les paramètres d'application, consultez Vue d'ensemble des paramètres d'application. Pour plus d'informations sur l'implémentation de votre propre classe de paramètres plutôt que d'en générer une dans Visual Studio, consultez Comment : créer des paramètres d'application. Pour plus d'informations sur la configuration du service de profil ASP.NET AJAX, consultez Utilisation d'informations de profil avec ASP.NET AJAX.

Classes de services d'application cliente

Le tableau suivant décrit les classes qui implémentent la fonctionnalité des services d'application cliente.

Les applications qui utilisent uniquement les fonctionnalités de paramètres, de rôles et d'authentification principale n'ont pas à accéder directement à ces classes. Au lieu de cela, ces applications accèdent de manière indirecte aux fournisseurs de services d'application cliente à l'aide de la configuration d'application et des API décrites dans les sections précédentes. Vous accédez directement à ces classes pour implémenter des fonctionnalités supplémentaires, telles que la déconnexion utilisateur et les fonctionnalités hors connexion.

Remarque :

Toutes les API des services d'application cliente sont synchrones. Les services d'application cliente ne prennent pas directement en charge le comportement asynchrone.

Les fournisseurs de services d'application cliente implémentent ou étendent des types .NET Framework 2.0 standard, mais n'implémentent pas chaque membre et chaque fonctionnalité définis par ces types. Par exemple, vous ne pouvez pas utiliser les fournisseurs de services d'application cliente pour implémenter une application de gestion de l'utilisateur afin de créer des utilisateurs et de gérer l'appartenance à un rôle. Pour implémenter cette fonctionnalité, vous devez utiliser une application Web et un code côté serveur. Pour déterminer quels membres ne sont pas implémentés, consultez la documentation de référence accessible à partir des liens dans cette table.

Classe

Description

ClientFormsIdentity

Cette classe gère l'identité de l'utilisateur et les cookies d'authentification pour l'authentification par formulaire.

La raison principale concernant l'accès direct à cette classe est l'appel de la méthode RevalidateUser, qui revalide silencieusement un utilisateur (par exemple, lors du passage du mode hors connexion au mode en ligne).

Après avoir authentifié l'utilisateur à l'aide de l'authentification par formulaire, vous pouvez extraire une instance de cette classe via la propriété Identity de la référence IPrincipal extraite par le biais de la propriété static Thread.CurrentPrincipal.

ClientRolePrincipal

Cette classe gère les rôles d'utilisateur.

Les membres de cette classe sont tous accessibles indirectement. Cependant, une fois l'utilisateur authentifié, vous pouvez accéder à une instance de cette classe via la propriété static Thread.CurrentPrincipal.

ConnectivityStatus

Cette classe fournit la propriété static IsOffline que vous utilisez pour passer votre application en mode hors connexion. Pour plus d'informations, consultez Comment : travailler hors connexion avec les services d'application cliente.

ClientFormsAuthenticationCredentials

Cette classe représente les informations d'identification de l'utilisateur.

Vous utilisez cette classe uniquement comme type de valeur de retour de la méthode GetCredentials lorsque vous implémentez l'interface IClientFormsAuthenticationCredentialsProvider.

ClientFormsAuthenticationMembershipProvider

Cette classe gère l'accès au service d'authentification distant pour l'authentification par formulaire.

La raison principale de l'accès direct à cette classe est l'utilisation de ses membres Logout et UserValidated, qui ne sont pas implémentés par la classe MembershipProvider de base. Vous pouvez également définir l'emplacement du service par programme à l'aide de la propriété ServiceUri.

Vous pouvez récupérer une instance de cette classe par le biais de la propriété static Membership.Provider.

ClientWindowsAuthenticationMembershipProvider

Cette classe gère l'authentification Windows.

La raison principale de l'accès direct à cette classe est l'appel de sa méthode Logout. Après la déconnexion, l'utilisateur est encore authentifié pour Windows, mais ne peut plus accéder aux services d'application distants.

Vous pouvez récupérer une instance de cette classe par le biais de la propriété static Membership.Provider.

ClientRoleProvider

Cette classe gère l'accès au service de rôles distant.

La raison principale de l'accès à cette classe est l'appel de sa méthode ResetCache. Cela peut être utile si votre application est configurée pour utiliser une valeur de délai d'expiration du cache du service de rôles non nulle. Pour plus d'informations, consultez Comment : configurer les services d'application cliente. Vous pouvez également définir l'emplacement du service par programme à l'aide de la propriété ServiceUri.

Vous pouvez récupérer une instance de cette classe par le biais de la propriété static Roles.Provider.

ClientSettingsProvider

Cette classe gère l'accès au service de paramètres Web distant.

La raison principale de l'accès à cette classe est la gestion de l'événement SettingsSaved. Vous pouvez également définir l'emplacement du service par programme à l'aide de la propriété ServiceUri.

IClientFormsAuthenticationCredentialsProvider

Cette interface fournit un moyen indirect à votre application d'obtenir des informations d'identification de l'utilisateur pour la validation, comme décrit précédemment dans la section Authentification de cette rubrique. Pour plus d'informations, consultez Comment : configurer les services d'application cliente.

SettingsSavedEventArgs

Cette classe fournit une propriété FailedSettingsList à utiliser dans un gestionnaire d'événements ClientSettingsProvider.SettingsSaved.

UserValidatedEventArgs

Cette classe fournit une propriété UserName à utiliser dans un gestionnaire d'événements UserValidated.

Voir aussi

Tâches

Comment : configurer les services d'application cliente

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

Comment : accéder aux rôles d'utilisateurs avec les services d'application cliente

Comment : accéder aux paramètres utilisateur avec les services d'application cliente

Comment : travailler hors connexion avec les services d'application cliente

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

Concepts

Vue d'ensemble des paramètres d'application

Vue d'ensemble des services d'application ASP.NET

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

Utilisation d'informations de rôle avec ASP.NET AJAX

Utilisation d'informations de profil avec ASP.NET AJAX

Autres ressources

Services d'application cliente

Gestion des paramètres de l'application

Authentification ASP.NET

Gestion de l'autorisation à l'aide de rôles

Création et configuration de la base de données des services d'application pour SQL Server