Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Codebeispiel: ASP.NET-Webdienst

Veröffentlicht: April 2011

Letzte Aktualisierung: Juni 2015

Betrifft: Azure

Dieses Beispiel zeigt, wie ein einfacher Webdienst in Zugriffssteuerung für Microsoft Azure Active Directory (auch Zugriffssteuerungsdienst oder ACS) integriert wird. In diesem Beispiel wird ASP.NET als Webdiensthost und Befehlszeilenclient verwendet. Der ASP.NET-Webdienst erfordert ein von ACS ausgestelltes SWT-Token. Der Client fordert ein Token von ACS mit einem Benutzernamen und einem Kennwort an, der bzw. das bei ACS registriert ist. Der Code für dieses Beispiel befindet sich im Unterverzeichnis ASPNETSimpleService (C#\WebServices\ASPNETSimpleService) des Codebeispiele für die Zugriffssteuerung (Access Control Service, ACS) für Microsoft Azure Active Directory-Pakets.

Folgendes ist erforderlich, um dieses Beispiel auszuführen:

  1. Ein Konto auf der Azure-Startseite und einen Namespace für die Zugriffssteuerung erstellen.

  2. Visual Studio 2010 (beliebige Version).

Weitere Informationen finden Sie unter ACS-Voraussetzungen (http://go.microsoft.com/fwlink/?LinkId=221065).

Die ACS-Konfiguration, die für dieses Beispiel erforderlich ist, kann mithilfe des ACS-Verwaltungsportals oder des ACS-Verwaltungsdiensts ausgeführt werden. In diesem Thema werden beide Optionen beschrieben.

  1. Option 1: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsportals

  2. Option 2: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsdiensts

  1. Navigieren Sie zum Microsoft Azure-Verwaltungsportal (https://manage.WindowsAzure.com), melden Sie sich an, und klicken Sie dann auf Active Directory. (Hinweis für die Fehlerbehebung: Das Element "Active Directory" fehlt oder ist nicht verfügbar)

  2. Um einen Namespace für die Zugriffssteuerung zu erstellen, klicken Sie auf Neu, auf Anwendungsdienste, auf Zugriffssteuerung und dann auf Schnellerfassung. (Oder klicken Sie auf Namespaces für die Zugriffssteuerung und dann auf Neu.)

  3. Um einen Namespace für die Zugriffssteuerung zu verwalten, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten. (Oder klicken Sie auf Namespaces für die Zugriffssteuerung, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten.)

    Durch diese Aktion wird das Access Control Service-Verwaltungsportal geöffnet.

  4. Klicken Sie zum Registrieren Ihrer Anwendung bei ACS auf Anwendungen der vertrauenden Seite, klicken Sie auf Hinzufügen, und geben Sie dann die folgenden Informationen in das Formular ein:

    • Geben Sie im Feld Name die Angabe ASPNET Simple Service ein.

    • Geben Sie unter Bereich die Angabe http://localhost:8000/Service/ ein.

    • Geben Sie im Feld Rückgabe-URL die Angabe http://localhost:8000/Service/ ein.

    • Wählen Sie aus dem Dropdown-Listenfeld Tokenformat die Option SWT aus.

    • Klicken Sie im Feld Tokensignaturschlüssel auf Generieren, um einen Tokensignaturschlüssel zu generieren. Kopieren Sie diesen Schlüssel, um ihn später in der Konfiguration zu verwenden.

    • Geben Sie im Feld Ablaufdatum ein entsprechendes Ablaufdatum für den Schlüssel ein. Ab diesem Datum ist der Schlüssel nicht mehr gültig.

    • Behalten Sie für die anderen Felder die Standardwerte bei.

  5. Klicken Sie auf Speichern, klicken Sie dann auf Start, um zur Startseite des Access Control Service-Verwaltungsportals zurückzukehren.

  6. Nachdem die vertrauende Seite registriert wurde, ist es nun an der Zeit, die Regeln zu erstellen, die die Ansprüche festlegen, die ACS für Ihre Anwendung ausstellt. In diesem Beispiel wird eine Regel erstellt, die allen registrierten Benutzernamen und Kennwörtern einen Anspruch action mit dem Wert reverse zuweist. Klicken Sie zur Erstellung dieser Regel auf Start, um zur Startseite des Access Control Service-Verwaltungsportalszurückzukehren. Klicken Sie dann auf Regelgruppen und anschließend auf Standardregelgruppe für ASP.NET Simple Service. Fügen Sie eine Regel mit den folgenden Einstellungen hinzu:

    • Wählen Sie im Abschnitt Anspruchsaussteller die Option Zugriffssteuerungsdienst aus.

    • Wählen Sie unter Eingabeanspruchstyp die Option Beliebig aus.

    • Wählen Sie unter Eingabeanspruchswert die Option Beliebig aus.

    • Wählen Sie unter Ausgabeanspruchstyp die Option Typ eingeben aus, und geben Sie dann action in das Feld ein.

    • Wählen Sie im Abschnitt Ausgabeanspruchswert die Option Wert eingeben aus, und geben Sie dann reverse in das Feld ein.

  7. Im Gegensatz zu den Websitebeispielen verwendet dieses Beispiel Anmeldeinformationen, die von ACS verwaltet werden. Der letzte Schritt beim Konfigurieren von ACS besteht in der Registrierung des Benutzernamens und des Kennworts, den bzw. das die Clientanwendung verwenden soll. Klicken Sie zum Konfigurieren eines neuen Benutzernamens und eines Kennworts auf Start, um zur Startseite des Access Control Service-Verwaltungsportals zurückzukehren. Klicken Sie auf Dienstidentitäten, und klicken Sie dann auf Hinzufügen, um das Formular auszufüllen. Geben Sie für dieses Beispiel acssample als Benutzernamen ein, legen Sie Kennwort als Anmeldeinformationentyp fest, und geben Sie dann pass@word1 als Kennwort ein.

  8. Klicken Sie auf Speichern, klicken Sie dann auf Start, um zur Startseite des Access Control Service-Verwaltungsportals zurückzukehren.

Das Visual Studio-Beispielprojekt enthält eine Konsolenanwendung namens ConfigureSample, die den ACS-Verwaltungsdienst sowie die allgemeinen Hilfsprogramme verwendet, die in der Klassenbibliothek Common definiert sind. Diese Anwendung kann zum Konfigurieren eines Namespace für die Zugriffssteuerung für den Einsatz in diesem Beispiel verwendet werden.

  1. Öffnen Sie zum Konfigurieren des Beispiels SamplesConfiguration.cs (acs\Management\ManagementService\Common). Ersetzen Sie die Platzhalter in der Klasse SamplesConfiguration in der Klasse Common durch Informationen zu Ihrem Namespace für die Zugriffssteuerung. Sie können diese Informationen im ACS-Verwaltungsportal ermitteln.

    So navigieren Sie zum ACS-Verwaltungsportal: Navigieren Sie zum Microsoft Azure-Verwaltungsportal (https://manage.WindowsAzure.com), melden Sie sich an, und klicken Sie dann auf Active Directory. (Hinweis für die Fehlerbehebung: Das Element "Active Directory" fehlt oder ist nicht verfügbar) Um einen Namespace für die Zugriffssteuerung zu verwalten, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten. (Oder klicken Sie auf Namespaces für die Zugriffssteuerung, wählen Sie den Namespace aus und klicken Sie dann auf Verwalten.)

    • ServiceNamespace – Geben Sie den Namen Ihres Namespace für die Zugriffssteuerung ein.

    • ManagementServiceIdentityName – Geben Sie den Namen eines ACS-Verwaltungsdienstkontos ein. Der Standardwert ist ManagementClient.

      Klicken Sie im ACS-Verwaltungsportal auf Verwaltungsdienst, um den Namen des Verwaltungsdienstkontos zu ermitteln. Die Konten werden nach ihrem Namen unter Verwaltungsdienstkonten aufgelistet.

    • ManagementServiceIdentityKey – Geben Sie das Kennwort für das Verwaltungsdienstkonto ein.

      Klicken Sie im ACS-Verwaltungsportal auf Verwaltungsdienst, um das Kennwort des Verwaltungsdienstkontos zu ermitteln. Klicken Sie auf den Namen eines Verwaltungsdienstkontos, und klicken Sie dann unter Anmeldeinformationen auf Kennwort. Das Kennwort wird im Feld Kennwort angezeigt. Klicken Sie zum Kopieren des Kennworts auf Kennwort anzeigen.

  2. Führen Sie die Anwendung ConfigureSample in Visual Studio aus. Auf diese Weise wird ACS für das Ausführen dieses Beispiels konfiguriert.

  3. Wenn die Anwendung ConfigureSample beendet wird, wird der generierte Signaturschlüssel der vertrauenden Seite in der Konsole ausgegeben. Kopieren Sie diesen Schlüssel in die Zwischenablage.

  1. Öffnen Sie das Beispiel in Visual Studio. Die Lösung besteht aus zwei Projekten: Service und Client.

  2. Geben Sie die Details Ihres Namespace für die Zugriffssteuerung in die Datei Common\SamplesConfiguration.cs ein, wenn dies nicht bereits geschehen ist. Weitere Informationen finden Sie in Schritt 1 von Option 2: Konfiguration mithilfe des ACS-Verwaltungsdiensts. Diese Datei wird auch von den Projekten Service und Client verwendet.

  3. Öffnen Sie die Datei web.config im Projekt Service. Geben Sie Ihren Tokensignaturschlüssel in die entsprechenden AppSettings-Elemente ein. Wenn Sie ACS mithilfe des Verwaltungsdiensts konfiguriert haben, handelt es sich um den Wert, den Sie in die Zwischenablage kopiert haben. Verwenden Sie zum Abrufen des Tokensignaturschlüssels den Bereich Zertifikate und Schlüssel des Portals. Der folgende Codeausschnitt zeigt diesen Bereich der Datei web.config des Projekts Service:

    <appSettings>
        <add key="IssuerSigningKey" value="...update to your signing key..."/>
      </appSettings>
    
    
  4. Öffnen Sie die Datei app.config im Projekt Client. Geben Sie Ihren Benutzernamen und das Kennwort in die entsprechenden AppSettings-Elemente ein. Verwenden Sie zum Abrufen des zuvor registrierten Benutzernamens und Kennworts den Bereich Dienstidentitäten des Portals. Der folgende Codeausschnitt zeigt diesen Bereich (ordnungsgemäß aktualisiert) der Clientdatei app.config an.

      <appSettings>
        <add key="OAuthUserName" value="acssample" />
        <add key="OAuthPassword" value="pass@word1" />
        <add key="ServiceAddress" value="http://localhost:8000/Service/Default.aspx" />   
      </appSettings>
    
    
  5. Starten Sie zum Ausführen des Beispiels den Dienst, und starten Sie dann den Client. Geben Sie im Client eine umzukehrende Zeichenfolge ein. Das Clientkonsolenfenster sollte nun eine Ausgabe anzeigen, die angibt, dass ein Token von ACS empfangen wurde.

Anzeigen: