Exemple de code : ASP.NET simple MVC 2

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 ASP.NET. Le code de cet exemple se trouve dans le sous-répertoire ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) du package d’exemples de code Microsoft Azure Active Directory Access Control (ACS).

Prérequis

Pour exécuter cet exemple, vous avez besoin des éléments suivants :

  1. Un compte sur la page d’accueil Azure et un espace de noms Access Control. Cet exemple part du principe que le nom du portail de gestion Microsoft Azure (https://manage.WindowsAzure.com), se connecte, puis clique sur Active Directory. (Conseil de résolution des problèmes : l’élément « Active Directory » est manquant ou non disponible) est acssamples, même si votre nom d’espace de noms Access Control sera différent.

  2. Visual Studio 2010 (n’importe quelle version)

  3. Kit de développement logiciel Windows Identity Foundation SDK

Pour plus d’informations, consultez les prérequis ACS (https://go.microsoft.com/fwlink/?LinkId=221065).

Configuration de l'exemple

La configuration ACS requise pour cet exemple peut être effectuée à l’aide du portail de gestion ACS ou du service de gestion ACS. Cette rubrique décrit les deux options.

  1. Option 1 : Configuration de l’exemple à l’aide du portail de gestion ACS

  2. Option 2 : Configuration de l’exemple à l’aide du service de gestion ACS

Option 1 : Configuration de l’exemple à l’aide du portail de gestion ACS

Pour configurer l’exemple à l’aide du portail de gestion ACS

  1. 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)

  2. 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.)

  3. 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.)

    Cette action a pour effet d'ouvrir le portail de gestion ACS.

  4. Pour établir des relations avec les fournisseurs d'identité que vous souhaitez que les utilisateurs de votre site web utilisent lors de la connexion, cliquez sur Fournisseurs d'identité et ajoutez Yahoo! et Google. Pour revenir à la page principale, cliquez sur Accueil.

  5. Pour inscrire votre application auprès d’ACS, dans la page d’accueil du portail de gestion des services Access Control, cliquez sur Applications de partie de confiance, sur Ajouter, puis entrez les informations suivantes dans le formulaire :

    • Dans le champ Nom, entrez Exemple simple ASPNET MVC.

    • Dans le champ Domaine , entrez https://localhost:63000/

    • Dans le champ URL de retour , entrez https://localhost:63000/

    • Dans le champ URL d’erreur , entrez https://localhost:63000/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).

  6. Cliquez sur Enregistrer, puis cliquez sur Accueil pour revenir à la page d'accueil.

  7. Une fois votre partie de confiance inscrite, il est maintenant temps de créer les règles qui déterminent les revendications émises par ACS à votre application. Dans cet exemple, nous allons simplement parcourir toutes les revendications émises par le fournisseur d'identité. Pour créer cette règle, cliquez sur Groupes de règles, puis sur Groupe de règles par défaut pour Exemple simple ASPNET MVC. En bas de la page, cliquez sur le lien Générer. Vérifiez que les trois fournisseurs d’identité Yahoo!, Google et Windows Live ID (compte Microsoft) sont sélectionnés, puis cliquez sur Générer.

  8. Cliquez sur Enregistrer et revenez à la page principale.

  9. Une fois ACS configuré, ouvrez Visual Studio.

Option 2 : Configuration de l’exemple à l’aide 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 assistances courantes définies dans la bibliothèque de classes Common. Cette application peut être utilisée pour configurer votre espace de noms Access Control à utiliser avec cet exemple.

Pour configurer l’exemple à l’aide du service de gestion ACS

  1. 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 Commune 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 rechercher 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.

  2. Exécutez l’application ConfigureSample dans Visual Studio, qui configure ACS pour exécuter cet exemple.

Exécution de l'exemple

Exécution de l'exemple

  1. Ouvrez l’exemple situé sur Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln dans Visual Studio

  2. Appuyez sur F5 pour démarrer l'application.

  3. Fermez le navigateur pour arrêter l’application et poursuivez la configuration d’ACS.

  4. Cliquez avec le bouton droit sur le projet et, dans le menu contextuel, sélectionnez Ajouter une référence STS.

  5. Dans la boîte de dialogue, entrez la racine de l'application web dans le champ URI d'application et cliquez sur Suivant. Pour cet exemple, cette valeur est https://localhost:63000/

    Notes

    La barre oblique de fin est importante, car elle s’aligne sur les valeurs que vous avez entrées dans ACS pour votre partie de confiance. L'Assistant affiche un avertissement indiquant que votre site n'utilise pas le protocole SSL. Acceptez cet avertissement en cliquant sur le bouton Oui, mais n'oubliez pas qu'un site web de production doit presque toujours utiliser le protocole SSL pour ces scénarios.

  6. Dans la fenêtre suivante, sélectionnez la case d’option Utiliser un STS existant, puis entrez l’URI des métadonnées WS-Federation publiées par votre espace de noms Access Control. Pour rechercher l’URI, dans le portail ACS, cliquez sur Intégration d’application. Si le nom de votre espace de noms Access Control est acssamples, l’URI est https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Après avoir entré cette valeur, cliquez sur Suivant.

  7. Comme votre site web ne nécessite pas de jetons chiffrés, cliquez sur Suivant, puis sur Terminer.

  8. ACS et votre application sont maintenant configurés. Appuyez sur F5 dans Visual Studio pour exécuter l’application. Votre navigateur sera dirigé vers la page de découverte du domaine d’accueil hébergée par ACS.

  9. Cliquez sur Google. Votre navigateur est redirigé vers une page de connexion Google.

  10. Entrez les informations d'identification d'un compte Google et refusez le formulaire de consentement de l'utilisateur.

  11. Votre navigateur doit revenir à https://localhost:63000/Error une chaîne d’erreur personnalisée indiquant que la connexion au site a été annulée.

  12. Pour réessayer, cliquez sur le lien, puis sur un fournisseur d'identité.

  13. Entrez les informations d'identification d'un compte de test et, cette fois-ci, acceptez le formulaire de consentement de l'utilisateur.

  14. Votre navigateur doit revenir à https://localhost:63000/. Notez que le nom de votre identité test apparaît dans la section supérieure droite de la page. Ces données ont été émises par le fournisseur d’identité et ont été retournées à votre application via ACS.