Codebeispiel: Einfache ASP.NET-Formulare
Aktualisiert: 19. Juni 2015
Gilt für: Azure
In diesem Beispiel wird veranschaulicht, wie ACS in eine ASP.NET Web Forms Anwendung integriert wird. Der Code für dieses Beispiel befindet sich in dem ASPNETSimpleForms (C#\Websites/ASPNETSimpleForms)-Unterverzeichnis des Microsoft Azure Active Directory Access Control (ACS)-Codebeispielpakets.
Voraussetzungen
Für dieses Beispiel benötigen Sie Folgendes:
Ein Konto im Azure-Portal und einem Access Control Namespace.
Visual Studio 2010 (alle Versionen)
Windows Identity Foundation SDK
Weitere Details finden Sie unter ACS-Voraussetzungen (https://go.microsoft.com/fwlink/?LinkId=221065).
Konfigurieren des Beispiels
Die für dieses Beispiel erforderliche ACS-Konfiguration kann mithilfe des ACS-Verwaltungsportals oder des ACS-Verwaltungsdiensts ausgeführt werden. In diesem Thema werden beide Optionen beschrieben.
Option 1: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsportals
Option 2: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsdiensts
Option 1: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsportals
So konfigurieren Sie das Beispiel mithilfe des ACS-Verwaltungsportals
Wechseln Sie zum Microsoft Azure Verwaltungsportal (https://manage.WindowsAzure.com), melden Sie sich an, und klicken Sie dann auf Active Directory. (Problembehandlungstipps: Das Element "Active Directory" fehlt oder nicht verfügbar)
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.)
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.
Klicken Sie zum Einrichten der Beziehungen mit den Identitätsanbietern, die die Benutzer Ihrer Website beim Anmelden verwenden sollen, auf Identitätsanbieter, und fügen Sie dann Yahoo! und Google hinzu. Klicken Sie auf dann auf Start, um zur Hauptseite zurückzukehren.
Wenn Sie Ihre Anwendung mit ACS registrieren möchten, klicken Sie auf "Anwendungen für vertrauende Parteien", klicken Sie auf "Hinzufügen", und geben Sie dann die folgenden Informationen im Formular ein:
Geben Sie im Feld Name die Angabe ASPNET Simple Forms Sample ein.
Geben Sie im Feld "Bereich " die Eingabetaste ein. https://localhost:62000/
Geben Sie im Feld "Rückgabe-URL " die Eingabetaste ein. https://localhost:62000/
Wählen Sie aus dem Dropdown-Listenfeld Tokenformat die Option SAML 2.0 aus.
Wählen Sie im Abschnitt "Identitätsanbieter" Google, Windows Live ID und Yahoo!
Wählen Sie im Feld Tokensignatur die Option Dienstnamespacezertifikat verwenden (Standard) aus.
Behalten Sie für die anderen Felder die Standardwerte bei.
Klicken Sie auf Speichern, und navigieren Sie dann zur Hauptseite.
Mit der registrierten Anwendung Ihrer vertrauenden Partei ist es jetzt zeit, die Regeln zu erstellen, die die Ansprüche bestimmen, die ACS für Ihre Anwendung ausgibt. In diesem Beispiel werden alle vom Identitätsanbieter ausgestellten Ansprüche einfach mithilfe von Pass-Through übergeben. Klicken Sie zum Erstellen dieser Regel auf Regelgruppen, und klicken Sie dann auf Standardregelgruppe für ASPNET Simple Forms Sample. Klicken Sie am unteren Rand der Seite auf den Link Generieren. Stellen Sie sicher, dass die drei Identitätsanbieter Yahoo!, Google und ausgewählt und auf "Generieren" klicken. Klicken Sie schließlich auf Speichern, und navigieren Sie dann zurück zur Hauptseite.
Wenn ACS konfiguriert ist, öffnen Sie Visual Studio.
Option 2: Konfigurieren des Beispiels mithilfe des ACS-Verwaltungsdiensts
So konfigurieren Sie das Beispiel mithilfe des ACS-Verwaltungsdiensts
Öffnen Sie zum Konfigurieren des Beispiels SamplesConfiguration.cs (acs\Management\ManagementService\Common). Ersetzen Sie die Platzhalter in der SamplesConfiguration-Klasse in der Allgemeinen Klassenbibliothek durch Informationen zu Ihrem Access Control Namespace. Sie können die Informationen im ACS-Verwaltungsportal finden.
Um zum ACS-Verwaltungsportal zu navigieren: Wechseln Sie zum Microsoft Azure Verwaltungsportal (https://manage.WindowsAzure.com), melden Sie sich an, und klicken Sie dann auf Active Directory. (Problembehandlungstipps: Das Element "Active Directory" fehlt oder nicht verfügbar) Um einen Access Control Namespace 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 Access Control Namespace ein.
ManagementServiceIdentityName – Geben Sie den Namen eines ACS-Verwaltungsdienstkontos ein. Die Standardeinstellung lautet "ManagementClient".
Um den Namen des Verwaltungsdienstkontos im ACS-Verwaltungsportal zu finden, klicken Sie auf "Verwaltungsdienst". Die Konten werden nach ihrem Namen unter Verwaltungsdienstkonten aufgelistet.
ManagementServiceIdentityKey – Geben Sie das Kennwort für das Verwaltungsdienstkonto ein.
Um das Kennwort für das Verwaltungsdienstkonto zu finden, klicken Sie im ACS-Verwaltungsportal auf "Verwaltungsdienst". 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.
Führen Sie die ConfigureSample-Anwendung in Visual Studio aus, die ACS so konfiguriert, dass dieses Beispiel ausgeführt wird.
Ausführen des Beispiels
So führen Sie das Beispiel aus
Öffnen Sie das Beispiel auf Websites\ASPNETSimpleForms\ASPNETSimpleForms.sln in Visual Studio.
Drücken SieF5, um die Anwendung zu starten.
Schließen Sie den Browser, um die Anwendung zu beenden.
Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie dann STS-Verweis hinzufügen aus dem Kontextmenü aus.
Geben Sie im Dialogfeld den Stamm der Webanwendung in das Feld Anwendungs-URI ein, und klicken Sie dann auf Weiter. Für dieses Beispiel ist dieser Wert https://localhost:62000/
Hinweis
Die nachgestellte Strichstriche ist wichtig, da sie sich mit den Werten, die Sie in ACS für Ihre vertrauende Partei eingegeben haben, angibt. Der Assistent gibt eine Warnung aus, dass Ihre Website kein SSL verwendet. Akzeptieren Sie diese Warnung, indem Sie auf die Schaltfläche Ja klicken. Denken Sie jedoch daran, dass eine Produktionswebsite für diese Szenarien so gut wie immer SSL verwenden sollte.
Wählen Sie im nächsten Fenster die Schaltfläche "Vorhandene STS verwenden" aus, und geben Sie den URI der von Ihrem Access Control Namespace veröffentlichten WS-Federation Metadaten ein. Sie finden diesen URI im Portal unter Anwendungsintegration. Wenn Ihr Access Control Namespace Acssamples ist, ist https://acssamples.der URI accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Nachdem Sie diesen Wert eingegeben haben, klicken Sie auf Weiter.
Da Ihre Website keine verschlüsselten Token erfordert, klicken Sie in den verbleibenden Dialogfeldern auf Weiter, und klicken Sie dann auf Fertig stellen.
Sowohl ACS als auch Ihre Anwendung sind jetzt konfiguriert. Drücken Sie F5 in Visual Studio, um die Anwendung auszuführen. Ihr Browser wird auf die seite "Home Realm Discovery" von ACS gehostet.
Klicken Sie auf Yahoo! oder Google, und Ihr Browser zeigt diesen Identitätsanbieter an.
Sobald Ihr Browser den betreffenden Identitätsanbieter anzeigt, geben Sie Anmeldeinformationen für ein Testkonto ein, und akzeptieren Sie das Formular für die Zustimmung des Benutzers.
Ihr Browser sollte zurück zu https://localhost:62000/. Beachten Sie, dass der Name Ihrer Testidentität im oberen rechten Abschnitt der Seite angezeigt wird. Diese Daten wurden vom Identitätsanbieter ausgestellt und über ACS an Ihre Anwendung zurückgegeben.