Udostępnij za pośrednictwem


Przykład kodu: ASP.NET Simple MVC 2

Zaktualizowano: 19 czerwca 2015 r.

Dotyczy: Azure

W tym przykładzie pokazano, jak zintegrować Microsoft Azure Active Directory Access Control (znaną również jako Access Control Service lub ACS) z aplikacją ASP.NET MVC. Kod dla tego przykładu znajduje się w podkatalogu Microsoft Azure Active Directory Access Control (ACSimpleMVC) (C#\Websites\ASPNETSimpleMVC).

Wymagania wstępne

Aby uruchomić ten przykład, potrzebne są następujące elementy:

  1. Konto na stronie głównej platformy Azure i Access Control przestrzeni nazw. W tym przykładzie przyjęto założenie, że nazwa narzędzia Przejdź do portalu zarządzania Microsoft Azure (https://manage.WindowsAzure.com), zaloguj się, a następnie kliknij pozycję Active Directory. (Porada dotycząca rozwiązywania problemów: brak elementu "Active Directory" lub jest niedostępny) to acssamples, mimo że nazwa przestrzeni nazw Access Control będzie inna.

  2. Visual Studio 2010 (dowolna wersja)

  3. zestaw SDK programu Windows Identity Foundation

Aby uzyskać więcej informacji, zobacz Wymagania wstępne ACS (https://go.microsoft.com/fwlink/?LinkId=221065).

Konfigurowanie przykładu

Konfigurację acS wymaganą dla tego przykładu można wykonać przy użyciu portalu zarządzania ACS lub usługi zarządzania ACS. W tym temacie opisano obie opcje.

  1. Opcja 1. Konfigurowanie przykładu przy użyciu portalu zarządzania ACS

  2. Opcja 2. Konfigurowanie przykładu przy użyciu usługi ZARZĄDZANIA ACS

Opcja 1. Konfigurowanie przykładu przy użyciu portalu zarządzania ACS

Aby skonfigurować przykład przy użyciu portalu zarządzania ACS

  1. Przejdź do portalu zarządzania Microsoft Azure (https://manage.WindowsAzure.com), zaloguj się, a następnie kliknij pozycję Active Directory. (Porada dotycząca rozwiązywania problemów: brak elementu "Active Directory" lub jest on niedostępny)

  2. Aby utworzyć przestrzeń nazw Access Control, kliknij pozycję Nowy, kliknij pozycję App Services, kliknij Access Control, a następnie kliknij pozycję Szybkie tworzenie. (Lub kliknij pozycję Access Control Przestrzenie nazw przed kliknięciem pozycji Nowy).

  3. Aby zarządzać przestrzenią nazw Access Control, wybierz przestrzeń nazw, a następnie kliknij pozycję Zarządzaj. (Lub kliknij Access Control przestrzenie nazw, wybierz przestrzeń nazw, a następnie kliknij pozycję Zarządzaj).

    Ta akcja spowoduje otwarcie portalu zarządzania usługami Access Control.

  4. Aby nawiązać relacje z dostawcami tożsamości, których użytkownicy witryny internetowej mają używać podczas logowania, kliknij pozycję Dostawcy tożsamości i dodaj Yahoo! i Google. Aby powrócić do strony głównej, kliknij pozycję Strona główna.

  5. Aby zarejestrować aplikację w usłudze ACS, na stronie głównej portalu zarządzania usługami Access Control kliknij pozycję Aplikacje jednostki uzależnionej, kliknij przycisk Dodaj, a następnie wprowadź następujące informacje w formularzu:

    • W polu Nazwa wprowadź przykład ASPNET Simple MVC.

    • W polu Obszar wprowadź https://localhost:63000/

    • W polu Return URL (Zwracany adres URL ) wprowadź wartość https://localhost:63000/

    • W polu Adres URL błędu wprowadź wartość https://localhost:63000/Error

    • W polu Format tokenu wybierz pozycję SAML 2.0.

    • W polu Podpisywanie tokenu wybierz pozycję Użyj certyfikatu przestrzeni nazw usługi (standard).

  6. Kliknij przycisk Zapisz , a następnie kliknij pozycję Strona główna, aby powrócić do strony głównej.

  7. Po zarejestrowaniu jednostki uzależnionej nadszedł czas, aby utworzyć reguły określające oświadczenia, które acS będą wystawiane aplikacji. W tym przykładzie po prostu przejdziemy przez wszystkie oświadczenia wystawione przez dostawcę tożsamości. Aby utworzyć tę regułę, kliknij pozycję Grupy reguł i kliknij pozycję Domyślna grupa reguł dla przykładu ASPNET Simple MVC. W dolnej części strony kliknij link Generuj . Upewnij się, że wybrano trzech dostawców tożsamości Yahoo!, Google i Windows Live ID (konto Microsoft), a następnie kliknij przycisk Generuj.

  8. Kliknij pozycję Zapisz i wróć do strony głównej.

  9. Po skonfigurowaniu usługi ACS otwórz Visual Studio.

Opcja 2. Konfigurowanie przykładu przy użyciu usługi zarządzania ACS

Przykładowe rozwiązanie Visual Studio ma aplikację konsolową o nazwie ConfigureSample, która używa usługi ACS Management Service i typowych pomocników zdefiniowanych w bibliotece wspólnych klas. Ta aplikacja może służyć do konfigurowania Access Control przestrzeni nazw do użycia z tym przykładem.

Aby skonfigurować przykład przy użyciu usługi zarządzania ACS

  1. Aby skonfigurować przykład, otwórz plik SamplesConfiguration.cs (acs\Management\ManagementService\Common). Zastąp symbole zastępcze w klasie SamplesConfiguration w bibliotece klas Common informacjami o przestrzeni nazw Access Control. Informacje można znaleźć w portalu zarządzania ACS.

    Aby przejść do portalu zarządzania ACS: przejdź do portalu zarządzania Microsoft Azure (https://manage.WindowsAzure.com), zaloguj się, a następnie kliknij pozycję Active Directory. (Porada dotycząca rozwiązywania problemów: brak elementu "Active Directory" lub jest on niedostępny) Aby zarządzać Access Control przestrzeni nazw, wybierz przestrzeń nazw, a następnie kliknij pozycję Zarządzaj. (Lub kliknij Access Control przestrzenie nazw, wybierz przestrzeń nazw, a następnie kliknij pozycję Zarządzaj).

    • ServiceNamespace — wprowadź nazwę przestrzeni nazw Access Control.

    • ManagementServiceIdentityName — wprowadź nazwę konta usługi zarządzania ACS. Wartość domyślna to ManagementClient.

      Aby znaleźć nazwę konta usługi zarządzania, w portalu zarządzania ACS kliknij pozycję Usługa zarządzania. Konta są wyświetlane według nazwy w obszarze Konta usług zarządzania.

    • ManagementServiceIdentityKey — wprowadź hasło dla konta usługi zarządzania.

      Aby znaleźć hasło konta usługi zarządzania, w portalu zarządzania ACS kliknij pozycję Usługa zarządzania. Kliknij nazwę konta usługi zarządzania, a następnie w obszarze Poświadczenia kliknij pozycję Hasło. Hasło zostanie wyświetlone w polu Hasło . Aby skopiować hasło, kliknij pozycję Pokaż hasło.

  2. Uruchom aplikację ConfigureSample w Visual Studio, która skonfiguruje usługę ACS do uruchomienia tego przykładu.

Uruchamianie przykładu

Aby uruchomić przykład

  1. Otwórz przykład znajdujący się w folderze Websites\ASPNETSimpleMVC\ASPNETSimpleMVC.sln w Visual Studio

  2. Naciśnij klawisz F5 , aby uruchomić aplikację.

  3. Zamknij przeglądarkę, aby zatrzymać aplikację i kontynuować konfigurowanie usługi ACS.

  4. Kliknij prawym przyciskiem myszy projekt i wybierz polecenie Dodaj odwołanie STS z menu kontekstowego.

  5. W oknie dialogowym wprowadź katalog główny aplikacji internetowej w polu Identyfikator URI aplikacji , a następnie kliknij przycisk Dalej. W przypadku tego przykładu ta wartość to https://localhost:63000/

    Uwaga

    Końcowy ukośnik jest ważny, ponieważ jest on w kolejce do wartości wprowadzonych w usłudze ACS dla jednostki uzależnionej. Kreator wyświetli ostrzeżenie, że witryna nie używa protokołu SSL. Zaakceptuj to ostrzeżenie, klikając przycisk Tak , ale pamiętaj, że produkcyjna witryna internetowa powinna prawie zawsze używać protokołu SSL w tych scenariuszach.

  6. W następnym oknie wybierz przycisk radiowy Użyj istniejącej usługi STS i wprowadź identyfikator URI metadanych WS-Federation opublikowanych przez przestrzeń nazw Access Control. Aby znaleźć identyfikator URI, w portalu ACS kliknij pozycję Integracja aplikacji. Jeśli nazwa przestrzeni nazw Access Control to acssamples, identyfikator URI to https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. Po wprowadzeniu tej wartości kliknij przycisk Dalej.

  7. Ponieważ witryna internetowa nie wymaga zaszyfrowanych tokenów, kliknij przycisk Dalej i kliknij przycisk Zakończ.

  8. Usługa ACS i aplikacja są teraz skonfigurowane. Naciśnij klawisz F5 w Visual Studio, aby uruchomić aplikację. Przeglądarka zostanie przekierowana do strony odnajdywania obszaru głównego hostowanego przez usługę ACS.

  9. Kliknij pozycję Google. Przeglądarka zostanie przekierowana na stronę logowania Google.

  10. Wprowadź poświadczenia dla konta Google i odrzuć formularz zgody użytkownika.

  11. Przeglądarka powinna wrócić do https://localhost:63000/Error i wyświetlić niestandardowy ciąg błędu wskazujący, że logowanie do witryny zostało anulowane.

  12. Aby spróbować ponownie, kliknij link, a następnie kliknij dostawcę tożsamości.

  13. Gdy przeglądarka znajduje się u dostawcy tożsamości, wprowadź poświadczenia dla konta testowego, ale tym razem zaakceptuj formularz zgody użytkownika.

  14. Przeglądarka powinna wrócić do https://localhost:63000/. Zwróć uwagę, że nazwa tożsamości testowej jest wyświetlana w prawej górnej sekcji strony. Te dane zostały wydane przez dostawcę tożsamości i zostały zwrócone do aplikacji za pośrednictwem usługi ACS.