Freigeben über


HTTPSSO (BizTalk Server-Beispiel)

Im HTTPSSO-Beispiel wird veranschaulicht, wie Sie das Feature Enterprise Single Sign-On (SSO) mit dem Microsoft BizTalk Server HTTP-Adapter verwenden.

Hinweis

Dieses Beispiel wird für 64-Bit-Betriebssysteme nicht unterstützt.

Ziel des Beispiels

Dieses Beispiel zeigt ein End-to-End-Szenario, bei dem mithilfe von SSO sowie den HTTP-Sende- und -Empfangsadaptern von BizTalk simuliert wird, wie SSO es einem Benutzer ermöglicht, keine zusätzlichen Anmeldeinformationen für das Anmelden bei Nicht-Microsoft Windows-Systemen angeben zu müssen, nachdem diese Informationen von Windows authentifiziert wurden.

Im Beispiel werden außerdem mithilfe der Verwaltungs- und Zuordnungsmodule von SSO Partneranwendungs- und SSO-Zuordnungen erstellt, die die Interop-Client-DLL von SSO verwenden.

Das Beispiel veranschaulicht die Verwendung von SSO, indem die folgenden Aspekte eines End-to-End-Szenarios implementiert werden:

  • Benutzeroberfläche, die durch ein virtuelles IIS-Verzeichnis (Microsoft Internet Information Services, Microsoft® Internetinformationsdienste) dargestellt wird, das für die integrierte Windows-Authentifizierung konfiguriert wurde.

  • Back-End-System, dargestellt durch ein virtuelles IIS-Verzeichnis, das für die Standardauthentifizierung konfiguriert wurde.

  • Back-End-Datenbank, dargestellt durch die SQL-Beispieldatenbank Northwind.

In diesem Beispiel wird davon ausgegangen, dass Sie BizTalk Server und SSO installiert haben. Sie müssen über Administratorrechte für BizTalk Server, IIS, SSO und COM+ unter Windows XP Professional verfügen. Außerdem müssen Sie ein Mitglied der Windows-Gruppen SSO-Administratoren, BizTalk Server-Administratoren und Benutzer isolierter BizTalk-Hosts sein.

Für die effektive Verwendung dieses Beispiels wird vorausgesetzt, dass Sie über ausreichende Kenntnisse zu SSO und dem HTTP-Adapter von BizTalk verfügen. So sollten Sie beispielsweise wissen, was eine Partneranwendung im Kontext von SSO ist. Informationen zu diesen Themen finden Sie unter Verwenden des einmaligen Anmeldens. Siehe auch HTTP-Adapter.

Nach Abschluss der Konfiguration funktioniert dieses Beispiel folgendermaßen:

  1. Wenn Sie in der Assistentenanwendung, die die Benutzeroberfläche für dieses Beispiel enthält, auf Fertig stellen klicken, wird eine instance von Internet Explorer gestartet und die URL der BizTalk HTTP-Empfangs-DLL übergeben.

  2. BizTalk Server leitet die HTTP-Anforderung mithilfe von SSO effektiv an die Datei EmployeeData.aspx in einem virtuellen IIS-Verzeichnis weiter, das mit der Standardauthentifizierung konfiguriert wurde. Diese ASPX-Datei simuliert den Einstiegspunkt in ein Nicht-Windows-Back-End-System. Weil SSO verwendet wird, umfasst die HTTP-Anforderung die konfigurierten Anmeldeinformationen zum Simulieren eines Anmeldekontos für das simulierte Back-End-System.

  3. Die ASPX-Datei greift auf eine modifizierte Version der SQL-Beispieldatenbank Northwind zu, um Mitarbeiterdaten entsprechend den simulierten Anmeldeinformationen für das Back-End-System abzurufen.

  4. Die ASPX-Datei gibt die abgerufenen Mitarbeiterdaten in einer HTTP-Antwort zurück.

  5. BizTalk Server leitet die HTTP-Antwort an Internet Explorer weiter, von dem die zurückgegebenen Mitarbeiterdaten dem Benutzer angezeigt werden.

    Wenn Sie BizTalk Server und SSO umgehen und direkt zur Datei EmployeeData.aspx wechseln, werden Sie mit einem Windows-Dialogfeld zur Eingabe Ihrer Anmeldeinformationen aufgefordert.

    Ein Beispiel, das zeigt, wie Sie das Befehlszeilenprogramm ssomanage.exe zum Konfigurieren des einmaligen Anmeldens verwenden, z. B. das Erstellen von Partneranwendungen und Benutzerzuordnungen, finden Sie unter Verwalten (BizTalk Server Beispiel).

Speicherort dieses Beispiels

<Beispielpfad>\SSO\HTTPSSO\

In der folgenden Tabelle werden die Dateien in diesem Beispiel samt Zweck beschrieben.

Datei(en) BESCHREIBUNG
AssemblyInfo.cs, SsoSample.csproj Projektdateien und zugehörige Dateien für dieses HTTP SSO-Beispiel
SsoSample.cs Microsoft Visual C#-Quelldatei der obersten Ebene für die grafische HTTP SSO-Anwendung, aus der ein großer Teil dieses Beispiels besteht. Diese Datei enthält den SSO-Konfigurationscode in einer Klasse namens SsoConfigurator , die letztendlich der Punkt dieses Beispiels ist.
Im Ordner \Scripts: EmployeeData.aspx Dient dazu, auf die Back-End-Datenbank (in diesem Fall die SQL-Datenbank Northwind) zuzugreifen und sie abzufragen, wenn ein Mitarbeiter eine Anforderung zum Anzeigen persönlicher Daten (entweder direkt oder mithilfe von SSO) einleitet.
Im Ordner \Scripts:ValidateUser.aspx Einfacher Test zum Überprüfen eines Benutzers und zum Berichten, wenn dieser Benutzer (entweder direkt oder mithilfe von SSO) überprüft wurde.
Im Ordner \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.resx, WorkPage.cs, WorkPage.resx Visual C#-Hilfsquelldateien und deren zugeordnete XML-formatierte Ressourcendateien für die grafische HTTP SSO-Anwendung, aus der ein großer Teil dieses Beispiels besteht.

Erstellen und Initialisieren dieses Beispiels

So erstellen und initialisieren Sie das Beispiel „HTTPSSO“

  1. Erstellen Sie ein lokales Windows-Konto, das Microsoft Internetinformationsdienste (IIS) für die Standardauthentifizierung verwenden kann. SSO ordnet das Windows-Domänenkonto diesem lokalen Windows-Konto zu. Verwenden Sie beispielsweise Ihren Nachnamen zum Erstellen eines lokalen Windows-Kontos.

    Hinweis

    Wenn Sie einen Domänencontroller verwenden, können Sie Domänenkonten erstellen und Ihr angemeldetes Domänenkonto diesem Konto zuordnen.

  2. Öffnen Sie in Microsoft SQL Server Enterprise Manager die Tabelle Employees in der Beispieldatenbank Northwind, und fügen Sie dann eine Zeile hinzu, die dem lokalen Windows-Konto entspricht, das Sie gerade erstellt haben, einschließlich Beispieldaten für die verschiedenen Spalten. Der Wert, den Sie in der Spalte LastName der Tabelle Employees hinzufügen, muss mit dem Benutzernamen des lokalen Windows-Kontos übereinstimmen, das Sie in Schritt 1 hinzugefügt haben.

  3. Stellen Sie sicher, dass das ASP.NET-Konto (ASPNET) über Leserechte für die Datenbank Northwind verfügt.

  4. Öffnen Sie die Projektdatei SsoSample.csproj mit Visual Studio.

  5. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Hinweis

    Möglicherweise werden Sie aufgefordert, eine Projektmappendatei zu speichern, bevor der Vorgang fortgesetzt werden kann.

    Wenn Sie die folgenden BizTalk-Assemblyverweise für das Projekt nicht finden können, müssen Sie sie löschen, aus den angegebenen Speicherorten erneut hinzufügen und dann erneut erstellen:

    • Microsoft.BizTalk.ExplorerOM. Standardmäßig befindet sich die Microsoft.BizTalk.ExplorerOM.dll Datei im Ordner \Programme (x86)\Microsoft BizTalk Server <VERSION>Developer Tools\.

    • Microsoft.BizTalk.SSOClient.Interop. Standardmäßig befindet sich die Microsoft.BizTalk.Interop.SSOClient.dll Datei im Ordner <ProgramFiles>\Common Files\Enterprise Single Sign-On\.

      Damit wird die ausführbare Datei SsoSample.exe in folgendem Ordner erstellt:

      <Beispielpfad>\SSO\HTTPSSO\bin\Debug\

Ausführen dieses Beispiels

Hinweis

Wenn Sie dieses Beispiel in IIS 6.0 im Isolationsmodus des Arbeitsprozesses ausführen, werden Anwendungspools für beide virtuellen Verzeichnisse erstellt. Sie müssen die Identität für diese beiden Anwendungspools in Ihrem Windows-Konto manuell konfigurieren (dies kann im Internetdienste-Manager geschehen).

So führen Sie das Beispiel „HTTPSSO“ aus

  1. Führen Sie die ausführbare Datei SsoSample.exe in folgendem Ordner aus:

    <Beispielpfad>\SSO\HTTPSSO\bin\Debug\

    Die Assistentenanwendung für dieses Beispiel wird geöffnet.

  2. Übernehmen Sie auf der Willkommensseite die Standardeinstellung zum Konfigurieren von IIS, SSO und BizTalk, und klicken Sie dann auf Weiter.

  3. Übernehmen Sie auf der Seite IIS-Konfiguration die Standardeinstellungen für die beiden virtuellen IIS-Verzeichnisse, die Sie erstellen möchten, und klicken Sie dann auf Weiter.

  4. Übernehmen Sie auf der Seite SSO-Konfiguration die Standardeinstellungen für die Partneranwendung, auf die über die Schaltfläche Anwendung hinzufügen zugegriffen werden kann.

  5. Übernehmen Sie auf der Seite SSO-Konfiguration die meisten Standardeinstellungen für die Benutzerzuordnungen, auf die über die Schaltfläche Zuordnung hinzufügen zugegriffen werden kann. Geben Sie Werte für die folgenden beiden Einstellungen ein, die auf dem lokalen Windows-Konto basieren, das Sie beim Erstellen und Initialisieren dieses Beispiels hinzugefügt haben.

    Einstellung Wert
    Externer Benutzername Geben Sie den Namen des hinzugefügten lokalen Windows-Benutzerkontos ein.
    Kennwort eines externen Benutzers Geben Sie das Kennwort für das hinzugefügte lokale Windows-Benutzerkonto ein.
  6. Klicken Sie auf der Seite SSO-Konfiguration auf Weiter.

  7. Übernehmen Sie auf der Seite BizTalk-Konfiguration die Standardeinstellungen für die Sende- und Empfangsports usw., und klicken Sie dann auf Weiter.

    Hinweis

    Sie können die Standardeinstellung für den Sendeport von EmployeeData.aspx in ValidateUser.aspx ändern, wenn Sie anstelle von Beispieldaten, die aus der Tabelle Employee der SQL-Datenbank Northwinds abgerufen werden, eine einfache Benutzervalidierung anstelle von Beispieldaten anzeigen möchten. Durch diese Änderung ändert sich die Art der Ausgabe, die im Browser angezeigt wird, nachdem Sie in Schritt 9 auf Fertig stellen geklickt haben.

  8. Überprüfen Sie die Statusmeldungen entsprechend der jeweils ausgeführten IIS-, SSO- und BizTalk-Konfiguration. Sie finden den Code, der während dieser Phase ausgeführt wird, in den Klassen IisConfigurator, SsoConfigurator und BtsConfigurator , die in der Datei SsoSample.cs definiert sind. Klicken Sie nach Abschluss der Konfiguration auf Weiter.

  9. Übernehmen Sie auf der letzten Seite der Assistentenanwendung die Standardeinstellungen für Browser starten unter (ein ausgewähltes Kontrollkästchen und ein Textfeld mit der URL http://localhost/SsoSampleBizTalkHttpReceive/BTSHttpReceive.dll?<message/>), und klicken Sie dann auf Fertig stellen.

    Eine Instanz von Internet Explorer wird geöffnet. Nach kurzer Zeit werden die Mitarbeiter-Beispieldaten angezeigt, die Sie der Tabelle Employees der SQL-Datenbank Northwind hinzugefügt haben.

    Für Vergleichszwecke können Sie BizTalk und SSO umgehen und direkt zu einer der beiden folgenden ASPX-Dateien wechseln:

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

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

    Weil Sie BizTalk und SSO umgehen, werden Sie in beiden Fällen von IIS nach Ihren Authentifizierungsinformationen gefragt (geben Sie die zuvor erstellten Informationen für das lokale Windows-Konto ein).

Kommentare

Die Assistentenanwendung SsoSample.exe konfiguriert zwei virtuelle IIS-Verzeichnisse:

  • Das erste virtuelle Verzeichnis wird mit integrierter Windows-Authentifizierung konfiguriert und entspricht der BizTalk-Erweiterung HTTP Receive ISAPI. Es muss der DLL-Datei BTSHTTPReceive.dll zugeordnet werden, die sich in folgendem Ordner befindet:

    <Installationspfad>\HttpReceive

  • Das zweite virtuelle Verzeichnis wird mit Standardauthentifizierung konfiguriert und simuliert ein Back-End-System, das eine Benutzer-ID und ein Kennwort zur Authentifizierung des Benutzers akzeptiert. Es muss einer der beiden ASPX-Dateien (ValidateUser.aspx oder EmployeeData.aspx) zugeordnet werden, die sich in folgendem Ordner befinden:

    <Beispielpfad>\SSO\HTTPSSO\Scripts

    Sie können mithilfe der Assistentenanwendung SsoSample.exe eine oder mehrere Partneranwendungen konfigurieren. Bei jeder dieser Partneranwendungen können Sie eine oder mehrere Benutzerzuordnungen erstellen. Jede dieser Benutzerzuordnungen ordnet ein Windows-Benutzerkonto einem Konto zu, über das Sie auf ein bestimmtes Back-End-System zugreifen. Im vorliegenden Beispiel ist dieses Konto ein lokales Windows-Konto, über das Sie sich bei dem zweiten virtuellen IIS-Verzeichnis authentifizieren, das ein echtes Back-End-System simuliert.

Zur erneuten Ausführung dieses Beispiels haben Sie mehrere Wahlmöglichkeiten:

  • Wechseln Sie direkt zu folgender URL in Internet Explorer:

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

  • Führen Sie die Assistentenanwendung erneut aus, doch deaktivieren Sie alle Konfigurationskontrollkästchen auf der ersten Seite.

  • Führen Sie die Assistentenanwendung erneut aus, lassen Sie die Konfigurationskontrollkästchen auf der ersten Seite aktiviert, doch konfigurieren Sie zusätzliche BizTalk-Elemente, Partneranwendungen usw. mit großer Sorgfalt, damit keine Konfigurationsfehler auftreten.

Gehen Sie zum Bereinigen dieses Beispiels wie folgt vor:

So bereinigen Sie dieses Beispiel

  1. Machen Sie die durchgeführte manuelle Konfiguration nach Bedarf rückgängig, und entfernen Sie beispielsweise das lokale Windows-Konto.

  2. Entfernen Sie IIS-Anwendungen, die den virtuellen Verzeichnissen entsprechen, und löschen Sie dann die von diesem Beispiel erstellten virtuellen IIS-Verzeichnisse.

  3. Tragen Sie den diesem Beispiel zugeordneten Sendeport mithilfe der BizTalk-Verwaltungskonsole aus, und löschen Sie den Port anschließend. Löschen Sie dann den diesem Beispiel zugeordneten Empfangsport (und dessen Empfangsspeicherort).

  4. Löschen Sie die SSO-Anwendung für dieses Beispiel mithilfe der Anwendung Ssomanage (zu finden in \Programme\Gemeinsame Dateien\Enterprise Single Sign-On\):

    Ssomanage –deleteapp SsoSampleApplication  
    

Weitere Informationen

SSO (Ordner für BizTalk Server-Beispiele)