Uwierzytelnianie platformy Microsoft Azure
Autor : Rick Anderson
Narzędzia microsoft ASP.NET dla usługi Windows Azure Active Directory ułatwiają uwierzytelnianie aplikacji internetowych hostowanych w witrynach sieci Web platformy Windows Azure. Uwierzytelnianie platformy Windows Azure służy do uwierzytelniania użytkowników Office 365 z organizacji, kont firmowych synchronizowanych z lokalnej usługi Active Directory lub użytkowników utworzonych we własnej niestandardowej domenie usługi Windows Azure Active Directory. Włączenie uwierzytelniania platformy Windows Azure umożliwia skonfigurowanie aplikacji do uwierzytelniania użytkowników przy użyciu jednej dzierżawy usługi Windows Azure Active Directory .
Narzędzie ASP.NET uwierzytelniania platformy Windows Azure nie jest obsługiwane w przypadku ról internetowych w usłudze w chmurze, ale planujemy to zrobić w przyszłej wersji. Program Windows Identity Foundation (WIF) jest obsługiwany w rolach internetowych platformy Windows Azure.
Aby uzyskać szczegółowe informacje na temat sposobu konfigurowania synchronizacji między lokalną usługą Active Directory i dzierżawą usługi Windows Azure Active Directory, zobacz Implementowanie logowania jednokrotnego i zarządzanie nim przy użyciu usług AD FS 2.0.
Usługa Windows Azure Active Directory jest obecnie dostępna jako bezpłatna usługa w wersji zapoznawczej.
Wymagania:
- Visual Studio 2012 lub Visual Studio Express 2012
- Rozszerzenia narzędzi internetowych dla rozszerzeń programu Visual Studio 2012 lub Web Tools dla Visual Studio Express 2012
- Microsoft ASP.NET Tools for Windows Azure Active Directory — Visual Studio 2012 lub Microsoft ASP.NET Tools for Windows Azure Active Directory — Visual Studio Express 2012 for Web
Tworzenie aplikacji internetowej ASP.NET przy użyciu programu Visual Studio 2012
W tym samouczku można utworzyć dowolną aplikację internetową za pomocą programu Visual Studio 2012, korzystając z szablonu intranetowego ASP.NET MVC.
- Utwórz nową aplikację intranetową MVC 4 ASP.NET i zaakceptuj wszystkie wartości domyślne. (Musi to być wartość In tra net, a nie In ter net project).
Włączanie uwierzytelniania platformy Azure w oknie (gdy jesteś administratorem globalnym tenet)
Jeśli nie masz istniejącej dzierżawy usługi Windows Azure Active Directory (na przykład za pomocą istniejącego konta Office 365), możesz utworzyć nową dzierżawę, rejestrując się w celu uzyskania nowego konta usługi Windows Azure Active Directory.
W menu Project (Projekt) wybierz pozycję Enable Windows Azure Authentication (Włącz uwierzytelnianie platformy Windows Azure):
Wprowadź domenę dla dzierżawy usługi Windows Azure Active Directory (na przykład contoso.onmicrosoft.com) i kliknij przycisk Włącz:
W oknie dialogowym Uwierzytelnianie sieci Web zaloguj się jako administrator dzierżawy usługi Windows Azure Active Directory:
Włączanie platformy Azure dla platformy Windows przez innego niż administrator tenet
Jeśli nie masz uprawnień administratora globalnego dla dzierżawy usługi Windows Azure Active Directory, możesz cofnąć zaznaczenie pola wyboru aprowizacji aplikacji.
W oknie dialogowym zostaną wyświetlone wartości Domena, Identyfikator podmiotu zabezpieczeń aplikacji i Adres URL odpowiedzi , które są wymagane do aprowizacji aplikacji przy użyciu zestawu tenet usługi Azure Active Directory. Te informacje należy przekazać osobie, która ma wystarczające uprawnienia do aprowizacji aplikacji. Aby uzyskać szczegółowe informacje na temat ręcznego tworzenia jednostki usługi, zobaczJak zaimplementować logowanie jednokrotne w usłudze Windows Azure Active Directory — ASP.NET Application . Po pomyślnym aprowizacji aplikacji możesz kliknąć pozycję Kontynuuj, aby zaktualizować web.config przy użyciu wybranych ustawień. Jeśli chcesz kontynuować tworzenie aplikacji podczas oczekiwania na zainicjowanie obsługi administracyjnej, możesz kliknąć przycisk Zamknij, aby zapamiętać ustawienia w pliku projektu. Przy następnym wywołaniu opcji Włącz uwierzytelnianie platformy Windows Azure i usuń zaznaczenie pola wyboru aprowizacji zostaną wyświetlone te same ustawienia, a następnie kliknij przycisk Kontynuuj, a następnie kliknij pozycję Zastosuj te ustawienia w web.config.
Zaczekaj na skonfigurowanie aplikacji na potrzeby uwierzytelniania platformy Windows Azure i aprowizowania za pomocą usługi Windows Azure Active Directory.
Po włączeniu uwierzytelniania platformy Windows Azure dla aplikacji kliknij przycisk Zamknij:
Naciśnij klawisz F5, aby uruchomić aplikację. Powinno nastąpić automatyczne przekierowanie do strony logowania. Użyj poświadczeń użytkownika tenet katalogu, aby zalogować się do aplikacji.
Ponieważ aplikacja korzysta obecnie z certyfikatu testowego z podpisem własnym, w przeglądarce zostanie wyświetlone ostrzeżenie informujące o tym, że certyfikat nie został wystawiony przez zaufany urząd certyfikacji.
To ostrzeżenie można bezpiecznie zignorować podczas programowania lokalnego, klikając pozycję Kontynuuj do tej witryny internetowej:
Udało Ci się zalogować do aplikacji przy użyciu uwierzytelniania platformy Windows Azure.
Włączenie uwierzytelniania platformy Windows Azure powoduje wprowadzenie następujących zmian w aplikacji:
Do projektu zostanie dodana klasa Anti-Cross-Site Request Forgery (CSRF) ( App_Start\AntiXsrfConfig.cs ).
Pakiety
System.IdentityModel.Tokens.ValidatingIssuerNameRegistry
NuGet są dodawane do projektu.Ustawienia programu Windows Identity Foundation w aplikacji zostaną skonfigurowane do akceptowania tokenów zabezpieczających z dzierżawy usługi Windows Azure Active Directory. Kliknij poniższy obraz, aby wyświetlić rozszerzony widok zmian wprowadzonych w pliku Web.config .
Zostanie aprowizowana jednostka usługi dla aplikacji w dzierżawie usługi Windows Azure Active Directory.
Protokół HTTPS jest włączony.
Wdrażanie aplikacji na platformie Windows Azure
Aby uzyskać pełne instrukcje, zobacz Deploying an ASP.NET Web Application to a Windows Azure Web Site (Wdrażanie aplikacji internetowej ASP.NET w witrynie internetowej platformy Windows Azure).
Aby opublikować aplikację przy użyciu uwierzytelniania platformy Windows Azure w witrynie internetowej platformy Azure:
Kliknij prawym przyciskiem myszy aplikację i wybierz polecenie Publikuj:
W oknie dialogowym Publikowanie w sieci Web pobierz i zaimportuj profil publikowania dla witryny internetowej platformy Azure.
Karta Połączenie zawiera docelowy adres URL (publiczny adres URL aplikacji). Kliknij pozycję Weryfikuj połączenie , aby przetestować połączenie:
Jeśli opublikowano wcześniej tę witrynę sieci Web platformy Azure, rozważ sprawdzenie ustawienia Usuń dodatkowe pliki w miejscu docelowym , aby upewnić się, że aplikacja jest czysta. Zwróć uwagę, że pole wyboru Włącz uwierzytelnianie platformy Windows Azure jest zaznaczone.
Opcjonalnie: na karcie Podgląd kliknij przycisk Rozpocznij podgląd , aby wyświetlić wdrożone pliki.
Kliknij pozycję Publikuj.
Zostanie wyświetlony monit o włączenie uwierzytelniania platformy Windows Azure dla hosta docelowego. Kliknij przycisk Włącz , aby kontynuować:
Wprowadź poświadczenia administratora dla dzierżawy usługi Windows Azure Active Directory:
Po pomyślnym opublikowaniu aplikacji zostanie otwarta przeglądarka w opublikowanej witrynie internetowej.
Uwaga
Po włączeniu uwierzytelniania platformy Windows Azure dla hosta docelowego aplikacja może potrwać do pięciu minut (zazwyczaj znacznie mniej). Po pierwszym uruchomieniu aplikacji, jeśli wystąpi błąd ACS50001: Nie znaleziono jednostki uzależnionej o nazwie "[obszar]", a następnie zaczekaj kilka minut i spróbuj ponownie uruchomić aplikację.
Po wyświetleniu monitu zaloguj się jako użytkownik w katalogu:
Pomyślnie zalogowano się do aplikacji hostowanej na platformie Azure przy użyciu uwierzytelniania platformy Windows Azure.
Znane problemy
Autoryzacja oparta na rolach kończy się niepowodzeniem w przypadku korzystania z uwierzytelniania platformy Windows Azure
Uwierzytelnianie platformy Windows Azure nie zapewnia obecnie niezbędnego oświadczenia roli, aby można było wykonać autoryzację opartą na rolach. Rolę uwierzytelnionego użytkownika należy pobrać ręcznie z usługi Windows Azure Active Directory.
Przejście do aplikacji przy użyciu uwierzytelniania platformy Windows Azure powoduje błąd "ACS20016 Domena zalogowanego użytkownika (live.com) nie jest zgodna z żadną dozwoloną domeną tego usługi STS"
Jeśli użytkownik jest już zalogowany na koncie Microsoft (na przykład hotmail.com, live.com, outlook.com) i próbujesz uzyskać dostęp do aplikacji, która włączyła uwierzytelnianie platformy Windows Azure, może zostać wyświetlony komunikat o błędzie 400, ponieważ domena konta Microsoft nie jest rozpoznawana przez usługę Windows Azure Active Directory. Aby zalogować się do aplikacji, najpierw wyloguj się z konta Microsoft.
Logowanie do aplikacji z włączonym uwierzytelnianiem platformy Windows Azure i elementem X509CertificateValidationMode innym niż Brak powoduje błędy weryfikacji certyfikatu dla certyfikatu accounts.accesscontrol.windows.net
Weryfikacja certyfikatu nie jest wymagana i powinna zostać wyłączona. Odcisk palca certyfikatu wystawcy jest weryfikowany przez moduł WSFederationAuthenticationModule.
Podczas próby włączenia uwierzytelniania platformy Windows Azure w oknie dialogowym uwierzytelnianie sieci Web jest wyświetlany błąd "ACS20016: Domena zalogowanego użytkownika (contoso.onmicrosoft.com) nie jest zgodna z żadną dozwoloną domeną tego usługi STS".
Ten błąd może wystąpić, gdy wcześniej pomyślnie zalogowano się przy użyciu innego konta usługi Windows Azure Active Directory z poziomu tego samego procesu programu Visual Studio. Wyloguj się z określonego konta lub uruchom ponownie program Visual Studio. Jeśli wcześniej zalogowano się i wybrano opcję "Zachowaj mnie zalogowano", może być konieczne wyczyszczenie plików cookie przeglądarki.
ACS20012: Żądanie nie jest prawidłowym komunikatem protokołu WS-Federation
Może się to zdarzyć, jeśli użytkownik jest już zalogowany przy użyciu innego identyfikatora Firmy Microsoft do jednej z usług platformy Azure. Użyj okna przeglądarki prywatnej, takiego jak InPrivate w programie IE lub Incognito w przeglądarce Chrome, lub wyczyść wszystkie pliki cookie.
Dodatkowe zasoby
- Microsoft ASP.NET Tools for Windows Azure Active Directory — Visual Studio 2012 — Vittorio Bertocci
- Funkcje platformy Windows Azure: tożsamość
- TechNet: Windows Azure Active Directory
- Usługa Windows Azure Active Directory: tworzenie aplikacji dla organizacji
- Windows Azure Active Directory: Tworzenie aplikacji dla wielu organizacji
- Jak zaimplementować logowanie jednokrotne w usłudze Windows Azure Active Directory
- Pojedyncze Sign-On z usługą Windows Azure Active Directory: szczegółowe omówienie — Vittorio Bertocci
- Wdrażanie logowania jednokrotnego i zarządzanie nim przy użyciu usług AD FS 2.0
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla