Procédure : Afficher l'état de connexion de l'appelant

En général, un site Web ASP.NET requiert que l'utilisateur se connecte avant de le laisser accéder à certaines parties du site. Windows® Identity Foundation (WIF) fournit un jeu de contrôles Web afin de simplifier ce processus d'authentification.

Une fois qu'un utilisateur est connecté, vous pouvez afficher son statut de connexion. WIF fournit le contrôle SignInStatus pour ce scénario. Si l'utilisateur est déjà connecté, ce contrôle apparaît comme un lien « Se déconnecter ». Si l'utilisateur n'est pas connecté, il s'affiche comme un lien « Se connecter » qui redirige l'utilisateur vers la page d'ouverture de session configurée pour l'application Web. Pour utiliser ce contrôle, l'application Web doit être configurée pour utiliser l'ouverture de session basée sur les formulaires. Pour plus de détails, consultez Comment : implémenter une simple authentification par formulaire.

Afficher l'état de connexion à l'aide du contrôle SignInStatus

Lorsque vous installez WIF, les contrôles WIF sont installés dans la boîte à outils Visual Studio. Si vous ne les voyez pas, vous pouvez les installer manuellement : ouvrez la boîte à outils, cliquez dessus avec le bouton droit et sélectionnez Choisir les éléments. Dans la boîte de dialogue qui s'affiche, sélectionnez l'onglet Composants .NET Framework, puis cliquez sur le bouton Parcourir dans l'angle inférieur droit. Sélectionnez l'assembly Microsoft.IdentityModel.dll dans le répertoire Reference Assemblies du dossier d'installation WIF, puis cliquez sur Ouvrir. Cliquez ensuite sur OK. Les nouveaux contrôles devraient apparaître dans les fenêtres de boîte à outils sous la catégorie Contrôles Windows® Identity Foundation (WIF). Le contrôle appelé SignInStatus est celui que vous allez utiliser dans les étapes suivantes.

  1. Activez le module d'authentification des sessions pour l'application Web (consultez Établissement de l'approbation d'une application de partie de confiance ASP.NET à un STS à l'aide de FedUtil).

  2. Ajoutez un contrôle SignInStatus à la page Web à partir de la boîte de dialogue de la boîte à outils Visual Studio.

  3. Configurez le contrôle selon les besoins.

Pour que ce contrôle s'affiche uniquement lorsque l'utilisateur est connecté, ajoutez-le dans un élément LoggedInTemplate du contrôle LoginView fourni par ASP.NET. En voici un exemple :

<asp:LoginView ID="LoginView1" runat="server"> <LoggedInTemplate> Bienvenue :<asp:LoginName ID="LoginName1" runat="server" /> <br /> <br /> <wif:SignInStatus ID="SignInStatus1" runat="server" /> <br /> </LoggedInTemplate> </asp:LoginView>