Exemple de code : ASP.NET MVC 4 avec déconnexion fédérée
Mise à jour : 19 juin 2015
S’applique à : Azure
Cet exemple montre comment intégrer Microsoft Azure Active Directory Access Control (également appelé service Access Control ou ACS) à une application MVC 4 ASP.NET. L'intégration ACS active les fonctionnalités de connexion et de déconnexion uniques pour les fournisseurs d'identité pris en charge dans une application ASP.NET MVC 4.
Le code de cet exemple se trouve dans le sous-répertoire ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) du package d’exemples de code Microsoft Azure Active Directory Access Control (ACS).
Pour plus d’informations sur la fonctionnalité de déconnexion unique dans ACS, consultez Déconnexion unique.
Prérequis
Pour exécuter cet exemple, vous avez besoin des éléments suivants :
Un compte dans le Portail Azure (https://go.microsoft.com/fwlink/?LinkID=275081) et un espace de noms Access Control. Cet exemple utilise un espace de noms Access Control appelé acssamples. Le nom de votre espace de noms peut être différent.
Pour plus d’informations sur la création d’un espace de noms Access Control, consultez Guide pratique pour créer un espace de noms Access Control.
Visual Studio 2012
Outil Identity and Access pour Visual Studio 2012 (https://msdn.microsoft.com/library/hh545418.aspx)
Pour plus d’informations, consultez Conditions préalables ACS.
Configuration de l'exemple
Vous pouvez utiliser le portail de gestion ACS ou le service de gestion ACS pour configurer cet exemple. Cette rubrique décrit les deux options.
Option 1 : Utilisation du portail de gestion ACS
Option 2 : Utilisation du service de gestion ACS
Option 1 : Utilisation du portail de gestion ACS
Pour configurer l’exemple à l’aide du portail de gestion ACS
Accédez au portail de gestion Microsoft Azure (https://manage.WindowsAzure.com), connectez-vous, puis cliquez sur Active Directory. (Conseil de résolution des problèmes : l’élément « Active Directory » est manquant ou non disponible)
Pour créer un espace de noms Access Control, cliquez sur Nouveau, Services d'application, Access Control, puis cliquez sur Création rapide. (Ou cliquez sur Espaces de noms Access Control avant de cliquer sur Nouveau.)
Pour gérer un espace de noms Access Control, sélectionnez l'espace de noms, puis cliquez sur Gérer. (Ou cliquez sur Espaces de noms Access Control, sélectionnez l'espace de noms, puis cliquez sur Gérer.)
Le portail de gestion ACS s'ouvre.
Pour permettre aux utilisateurs de votre application de se connecter avec leurs identifiants Google ou Yahoo!, cliquez sur Fournisseurs d'identité, puis sur Ajouter et ajoutez Google et Yahoo!.
Pour obtenir des instructions, consultez Google en tant que fournisseur d’identité ACS et Yahoo! en tant que fournisseur d’identité ACS. Windows l’ID live (compte Microsoft) est ajouté par défaut et ne peut pas être supprimé.
Pour inscrire votre application auprès d’ACS, cliquez sur Applications de partie de confiance, cliquez sur Ajouter, entrez les informations suivantes dans le formulaire, puis cliquez sur Enregistrer.
Dans le champ Nom, entrez ASPNETMVC4Sample.
Dans le champ Domaine , entrez https://localhost:65000/
Dans le champ URL de retour , entrez https://localhost:65000/
Dans le champ URL d’erreur , entrez https://localhost:65000/Error
Dans le champ Format du jeton, sélectionnez SAML 2.0.
Dans le champ Signature de jetons, sélectionnez Utiliser un certificat d'espace de noms de service (standard).
Pour plus d’informations sur les champs et les valeurs de la page Ajouter une application de partie de confiance, consultez Applications de partie de confiance.
Pour créer un groupe de règles qui envoie toutes les revendications émises par les fournisseurs d'identité à l'application par partie de confiance, cliquez sur Groupes de règles, sur Groupe de règles par défaut pour l'exemple ACS Simple MVC4, sur Générer, puis sur Enregistrer.
La section Groupes de règles du portail ACS crée les règles qui déterminent les revendications envoyées par ACS à votre application. En sélectionnant toutes les règles générées, vous configurez ACS pour envoyer toutes les revendications émises par les fournisseurs d’identité à l’application de partie de confiance.
L’exemple est maintenant configuré et prêt à s’exécuter dans Visual Studio 2012.
Option 2 : Utilisation du service de gestion ACS
L’exemple de solution Visual Studio a une application console appelée ConfigureSample qui utilise le service de gestion ACS et les helpers communs définis dans la bibliothèque de classes Common. Vous pouvez utiliser cette application pour configurer votre espace de noms Access Control à utiliser avec cet exemple.
Pour configurer l’exemple à l’aide du service de gestion ACS
Pour configurer l'exemple, ouvrez SamplesConfiguration.cs (acs\Management\ManagementService\Common). Remplacez les espaces réservés dans la classe SamplesConfiguration dans la bibliothèque de classes Common par des informations sur votre espace de noms Access Control. Vous trouverez les informations dans le portail de gestion ACS.
Pour accéder au portail de gestion ACS : accédez au portail de gestion Microsoft Azure (https://manage.WindowsAzure.com), connectez-vous, puis cliquez sur Active Directory. (Conseil de résolution des problèmes : l’élément « Active Directory » est manquant ou non disponible) Pour gérer un espace de noms Access Control, sélectionnez l’espace de noms, puis cliquez sur Gérer. (Ou cliquez sur Espaces de noms Access Control, sélectionnez l'espace de noms, puis cliquez sur Gérer.)
ServiceNamespace : entrez le nom de votre espace de noms Access Control.
ManagementServiceIdentityName - Entrez le nom d’un compte de service de gestion ACS. La valeur par défaut est ManagementClient.
Pour trouver le nom du compte de service de gestion, dans le portail de gestion ACS, cliquez sur Service de gestion. Les comptes sont répertoriés par nom sous Comptes de service de gestion.
ManagementServiceIdentityKey : entrez le mot de passe du compte de service de gestion.
Pour trouver le mot de passe du compte de service de gestion, dans le portail de gestion ACS, cliquez sur Service de gestion. Cliquez sur le nom d'un compte de service de gestion puis, sous Informations d'identification, cliquez sur Mot de passe. Le mot de passe s'affiche dans le volet Mot de passe. Pour copier le mot de passe, cliquez sur Afficher le mot de passe.
Exécutez l’application ConfigureSample dans Visual Studio. L’application utilise les données dans SamplesConfiguration.cs pour configurer ACS pour exécuter l’exemple.
Exécution de l'exemple
Exécution de l'exemple
Ouvrez le fichier de solution pour l’exemple, ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\), dans Visual Studio 2012.
Cliquez avec le bouton droit sur le projet et sélectionnez Identité et accès dans le menu contextuel.
Sélectionnez Utiliser le service de contrôle d'accès Azure.
En regard de Sélectionner un ou plusieurs fournisseurs, cliquez sur Configurer.
Entrez votre mot de passe d’espace de noms et de compte de service de gestion Access Control.
Sélectionnez un ou plusieurs fournisseurs d'identité dans la liste.
Les fournisseurs d’identité qui apparaissent sont ceux que vous avez ajoutés lorsque vous avez configuré l’exemple dans le portail ACS ou le service de gestion ACS.
Votre application par partie de confiance est désormais configurée pour utiliser ACS.
Appuyez sur F5 pour exécuter l'application. Votre navigateur est dirigé vers la page Découverte du domaine d’accueil ACS.
Cliquez sur Google. Votre navigateur est redirigé vers une page de connexion Google.
Entrez les informations d'identification d'un compte Google, puis refusez le formulaire d'autorisation.
Votre navigateur est redirigé vers https://localhost:65000/. Vous remarquerez que votre nom d'utilisateur Google apparaît dans le coin supérieur gauche de la page. Cela indique que vous êtes connecté à l'application par partie de confiance. Pour vous déconnecter, cliquez sur le lien Déconnexion. Vous n'êtes dès lors plus authentifié.
Voir aussi
Concepts
Guide pratique pour créer un espace de noms Access Control
Service de gestion ACS