Partager via


HTTPSSO (exemple BizTalk Server)

L’exemple HTTPSSO montre comment utiliser la fonctionnalité d'Sign-On unique d’entreprise (SSO) avec l’adaptateur HTTP Microsoft BizTalk Server.

Notes

Cet exemple n'est pas pris en charge sur les systèmes d'exploitation 64 bits.

Fonctions de l'exemple

Cet exemple illustre un scénario de bout en bout qui utilise SSO et les adaptateurs d'envoi et de réception HTTP BizTalk pour simuler la manière dont SSO permet à un utilisateur d'éviter de fournir des informations d'identification supplémentaires pour se connecter aux systèmes non Microsoft Windows une fois que Windows les a authentifiées.

L'exemple utilise également les modules d'administration et de mappage de SSO pour créer des mappages d'applications associées et de SSO à l'aide de la DLL du client Interop de SSO.

L'exemple montre l'utilisation de SSO en implémentant les aspects suivants d'un scénario de bout en bout :

  • Interface utilisateur, représentée par un répertoire virtuel Microsoft Internet Information Services (IIS) configuré pour utiliser l'authentification intégrée Windows.

  • Système principal, représenté par un répertoire virtuel IIS configuré pour utiliser l'authentification de base.

  • Base de données principale, représentée par l'exemple de base de données SQL Northwind.

Cet exemple suppose que vous avez installé BizTalk Server et l’authentification unique. Vous devez disposer de privilèges d’administrateur pour BizTalk Server, IIS, l’authentification unique et COM+ sur Windows XP Professionnel. Vous devez également être membre des groupes Windows Administrateurs SSO, Administrateurs BizTalk Server et Utilisateurs d'hôtes BizTalk isolés.

L'utilisation efficace de cet exemple suppose que vous maîtrisiez suffisamment SSO et l'adaptateur HTTP BizTalk. Par exemple, vous devez savoir ce qu'est une application associée dans le contexte de SSO. Pour plus d’informations sur ces rubriques, consultez Utilisation de l’authentification unique. Consultez également Adaptateur HTTP.

Après avoir terminé la configuration, cet exemple fonctionne comme suit :

  1. Lorsque vous cliquez sur Terminer dans l’application de l’Assistant qui comprend l’interface utilisateur de cet exemple, une instance d’Internet Explorer démarre et transmet l’URL de la DLL de réception HTTP BizTalk.

  2. BizTalk Server, à l'aide de SSO, transfère efficacement la requête HTTP au fichier EmployeeData.aspx dans un répertoire virtuel IIS configuré avec l'authentification de base. Ce fichier ASPX simule le point d'entrée dans un système principal non Windows. Comme vous utilisez SSO, la requête HTTP inclut les informations d'identification configurées qui simulent un compte de connexion au système principal simulé.

  3. Le fichier ASPX accède à une version modifiée de l'exemple de base de données SQL Northwind pour extraire les données employé correspondant aux informations d'identification du système principal simulé.

  4. Le fichier ASPX renvoie les données employé extraites dans une réponse HTTP.

  5. BizTalk Server route la réponse HTTP vers Internet Explorer qui affiche les données employé renvoyées à l'utilisateur.

    Si vous contournez BizTalk Server et SSO et accédez directement au fichier EmployeeData.aspx, une boîte de dialogue Windows vous demande vos informations d'identification.

    Pour obtenir un exemple qui montre comment utiliser l’utilitaire de ligne de commande ssomanage.exe pour configurer l’authentification unique, comme la création d’applications affiliées et de mappages d’utilisateurs, consultez Gérer (BizTalk Server Sample).

Accès à l'exemple

<Chemin d’accès> des exemples\SSO\HTTPSSO\

Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.

Fichier(s) Description
AssemblyInfo.cs, SsoSample.csproj Projet et fichiers associés pour cet exemple HTTP SSO.
SsoSample.cs Fichier source Microsoft Visual C# de niveau supérieur pour l'application graphique HTTP SSO qui constitue la grande partie de cet exemple. Ce fichier contient le code de configuration de l’authentification unique, dans une classe nommée SsoConfigurator qui est finalement le point de cet exemple.
Dans le dossier \Scripts : EmployeeData.aspx Utilisé pour accéder à la base de données principale et l'interroger (dans ce cas, la base de données SQL Northwind) lorsqu'un employé établit une demande d'affichage de ses données personnelles, directement ou à l'aide de SSO.
Dans le dossier \Scripts :ValidateUser.aspx Simple test pour valider un utilisateur et signaler si cet utilisateur est validé, directement ou à l'aide de SSO.
Dans le dossier \UI : AddApplication.cs, AddApplication.resx, AddMapping.cs, AddMapping.resx, App.ico, BtsPage.cs, BtsPage.resx, ExecutePage.cs, ExecutePage.resx, FinishPage.cs, FinishPage.resx, IisPage.cs, IisPage.resx, InfoPage.cs, InfoPage.resx, PageBase.cs, PageBase.resx, SsoPage.cs, SsoPage.resx, SsoSampleWizard.cs, SsoSampleWizard.resx, WelcomePage.cs, WelcomePage.resx, WorkPage.cs, WorkPage.resx Fichiers sources Visual C# auxiliaires et leurs fichiers de ressources XML associés pour l'application graphique HTTP SSO qui constitue la grande partie de cet exemple.

Génération et initialisation de cet exemple

Pour créer et initialiser l'exemple HTTPSSO

  1. Créez un compte Windows local que Microsoft Internet Information Services (IIS) peut utiliser pour l'authentification de base. SSO mappe le compte de domaine Windows à ce compte Windows local. Par exemple, utilisez votre nom de famille pour créer un compte Windows local.

    Notes

    Si vous exécutez sur un contrôleur de domaine, vous pouvez créer des comptes de domaine et mapper votre compte de domaine connecté à ce compte.

  2. À l’aide de Microsoft SQL Server Entreprise Manager, ouvrez la table Employés dans l’exemple de base de données Northwind, puis ajoutez une ligne correspondant au compte Windows local que vous venez de créer, y compris des exemples de données pour les différentes colonnes. La valeur que vous ajoutez à la colonne LastName de la table Employés doit être la même que le nom d'utilisateur du compte Windows local que vous avez ajouté à l'étape 1.

  3. Assurez-vous que le compte ASP.NET (ASPNET) a un accès en lecture à la base de données Northwind.

  4. Ouvrez le fichier de projet SsoSample.csproj à l'aide de Visual Studio.

  5. Dans le menu Générer, cliquez sur Générer la solution.

    Notes

    Vous pouvez être invité à enregistrer un fichier de solution avant de procéder à la génération.

    Si vous ne trouvez pas les références d'assembly BizTalk suivantes pour le projet, supprimez-les et ajoutez-les de nouveau à partir des emplacements indiqués et répétez la génération :

    • Microsoft.BizTalk.ExplorerOM. Par défaut, le fichier Microsoft.BizTalk.ExplorerOM.dll se trouve dans le dossier \Program Files (x86)\Microsoft BizTalk Server <VERSION>Developer Tools\.

    • Microsoft.BizTalk.SSOClient.Interop. Par défaut, le fichier Microsoft.BizTalk.Interop.SSOClient.dll se trouve dans le dossier <ProgramFiles>\Common Files\Enterprise Single Sign-On\.

      Cette opération génère le fichier exécutable SsoSample.exe dans le dossier suivant :

      <Chemin d’accès> des exemples\SSO\HTTPSSO\bin\Debug\

Exécution de cet exemple

Notes

Si vous exécutez cet exemple sur IIS 6.0 en mode d'isolation des processus de travail, les pools d'application sont créés pour les deux répertoires virtuels. Vous devez configurer manuellement l'identité de ces deux pools d'applications dans votre compte Windows (vous pouvez configurer l'identité dans le Gestionnaire des services Internet).

Pour exécuter l'exemple HTTPSSO

  1. Exécutez le fichier exécutable SsoSample.exe, qui se trouve dans le dossier suivant :

    <Chemin d’accès> des exemples\SSO\HTTPSSO\bin\Debug\

    L'Assistant pour cet exemple s'ouvre.

  2. Dans la page d’accueil, acceptez le paramètre par défaut pour la configuration d’IIS, d’authentification unique et de BizTalk, puis cliquez sur Suivant.

  3. Dans la page Configuration IIS, acceptez les paramètres par défaut des deux répertoires virtuels IIS que vous souhaitez créer, puis cliquez sur Suivant.

  4. Dans la page Configuration de l’authentification unique, acceptez les paramètres par défaut de l’application affiliée, qui sont accessibles à l’aide du bouton Ajouter une application .

  5. Dans la page Configuration de l’authentification unique, acceptez la plupart des paramètres par défaut pour les mappages d’utilisateurs, accessibles à l’aide du bouton Ajouter un mappage . Indiquez des valeurs pour les deux paramètres suivants en fonction du compte Windows local que vous avez ajouté lors de la génération et l'initialisation de cet exemple.

    Paramètre Valeur
    Nom d’utilisateur externe Défini sur le nom de compte d'utilisateur Windows local ajouté.
    Mot de passe utilisateur externe Défini sur le mot de passe du compte d'utilisateur Windows local ajouté.
  6. Dans la page Configuration de l’authentification unique, cliquez sur Suivant.

  7. Dans la page Configuration de BizTalk, acceptez les paramètres par défaut pour les ports d’envoi et de réception, etc., puis cliquez sur Suivant.

    Notes

    Vous pouvez modifier le paramètre de port d’envoi par défaut de EmployeeData.aspx en ValidateUser.aspx si vous souhaitez voir une validation utilisateur simple plutôt que des exemples de données extraits de la table Employee de la base de données SQL Northwinds. Cette modification modifie la nature de la sortie affichée dans le navigateur après avoir cliqué sur Terminer à l’étape 9.

  8. Consultez les messages d'état correspondant à la configuration IIS, SSO et BizTalk en cours d'exécution. Vous trouverez le code qui est exécuté pendant cette phase dans les classes IisConfigurator, SsoConfigurator et BtsConfigurator définies dans le fichier SsoSample.cs. Une fois la configuration terminée, cliquez sur Suivant.

  9. Dans la dernière page de l’application Assistant, acceptez les paramètres par défaut du navigateur Démarrer sur (une zone de case activée sélectionnée et une zone de texte avec l’URL http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>), puis cliquez sur Terminer.

    Une instance d'Internet Explorer s'ouvre et affiche les exemples de données employé que vous avez ajoutés à la table Employés de la base de données SQL Northwind.

    Pour comparer, vous pouvez contourner BizTalk et SSO et accéder directement à l'un des fichiers ASPX :

    • http://localhost/SsoSampleServerApplication/ValidateUser.aspx

    • http://localhost/SsoSampleServerApplication/EmployeeData.aspx

    Dans les deux cas, comme vous contournez BizTalk et SSO, vous êtes invité par IIS à entrer vos informations d'authentification (utilisez les informations du compte Windows local que vous avez créé).

Commentaires

L'Assistant SsoSample.exe configure deux répertoires virtuels IIS :

  • Le premier répertoire virtuel est configuré avec l'authentification intégrée Windows et correspond à l'extension ISAPI de l'emplacement de réception HTTP BizTalk. Il doit être associé au fichier .dll BTSHTTPReceive.dll situé dans le dossier suivant :

    <Chemin d’installation>\HttpReceive

  • Le second répertoire virtuel est configuré avec l'authentification de base et simule un système principal qui accepte un ID et mot de passe utilisateur pour authentifier l'utilisateur. Il doit être associé à l'un ou l'autre des fichiers ASPX, ValidateUser.aspx ou EmployeeData.aspx, situés dans le dossier suivant :

    <Chemin d’accès> des exemples\SSO\HTTPSSO\Scripts

    Vous pouvez utiliser l'Assistant SsoSample.exe configurer une ou plusieurs applications associées. Pour chacune de ces applications associées, vous pouvez créer un ou plusieurs mappages utilisateur. Chacun de ces mappages utilisateur mappe un compte d'utilisateur Windows à un compte que vous utilisez pour accéder à un système principal spécifique. Dans cet exemple, ce compte est un compte Windows local que vous utilisez pour l'authentification avec le second répertoire virtuel IIS qui simule un système principal original.

Pour exécuter de nouveau cet exemple, vous avez le choix entre plusieurs solutions :

  • Accédez directement à l'URL suivante dans Internet Explorer :

    http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>

  • Exécutez de nouveau l'Assistant mais désactivez toutes les cases à cocher de configuration dans la première page.

  • Exécutez de nouveau l'Assistant, laissez les cases à cocher de configuration activées dans la première page mais configurez de manière soigneuse et appropriée des éléments BizTalk supplémentaires, des applications associées, etc., afin que des erreurs de configuration ne se produisent pas.

Pour le nettoyage à partir de cet exemple, utilisez la procédure suivante.

Pour nettoyer à partir de cet exemple

  1. Si nécessaire, inversez la configuration manuelle que vous avez effectuée, telle que la suppression du compte Windows local.

  2. Supprimez les applications IIS qui correspondent aux répertoires virtuels, puis supprimez les répertoires virtuels IIS créés par cet exemple.

  3. À l'aide de la console Administration de BizTalk, désinscrivez, puis supprimez le port d'envoi associé à cet exemple. Ensuite, supprimez le port de réception (et son emplacement de réception) associé à cet exemple.

  4. Utilisez l'application Ssomanage (située dans \Program Files\Common Files\Enterprise Single Sign-On\) pour supprimer l'application SSO pour cet exemple :

    Ssomanage –deleteapp SsoSampleApplication  
    

Voir aussi

Authentification unique (dossier d’exemples BizTalk Server)