Ukázka kódu: webová služba ASP.NET
Aktualizováno: 19. června 2015
Platí pro: Azure
Tyto ukázky ukazují, jak integrovat Microsoft Azure Active Directory Access Control (označované také jako služba Access Control nebo ACS) do jednoduché webové služby. Používá ASP.NET jako hostitele webové služby a klienta příkazového řádku. Webová služba ASP.NET vyžaduje token SWT vydaný službou ACS. Klient požaduje token ze služby ACS s uživatelským jménem a heslem registrovaným v ACS. Kód pro tuto ukázku se nachází v podadresáři kódu ASPNETSimpleService (C#\WebServices\ASPNETSimpleService) balíčku ukázek kódu Microsoft Azure Active Directory Access Control (ACS).
Požadavky
K spuštění této ukázky budete potřebovat:
Pokud chcete vytvořit účet na domovské stránce Azure a vytvořit Access Control obor názvů.
Visual Studio 2010 (libovolná verze)
Další podrobnosti najdete v tématu Požadavky ACS (https://go.microsoft.com/fwlink/?LinkId=221065).
Konfigurace ukázky
Konfiguraci služby ACS vyžadovanou pro tuto ukázku je možné provést pomocí portálu pro správu služby ACS nebo služby pro správu služby ACS. Toto téma popisuje obě možnosti.
Možnost 1: Konfigurace ukázky pomocí portálu pro správu služby ACS
Možnost 2: Konfigurace ukázky pomocí služby pro správu služby ACS
Možnost 1: Konfigurace ukázky pomocí portálu pro správu služby ACS
Konfigurace ukázky pomocí portálu pro správu služby ACS
Přejděte na portál pro správu Microsoft Azure (https://manage.WindowsAzure.com), přihlaste se a klikněte na Active Directory. (Tip pro řešení potíží: Položka Active Directory chybí nebo není k dispozici)
Chcete-li vytvořit obor názvů Access Control, klikněte na Tlačítko Nový, klikněte na App Services, klikněte na Access Control a potom klikněte na Rychlé vytvoření. (Nebo klikněte na Access Control Obory názvů předtím, než kliknete na Nový.)
Pokud chcete spravovat Access Control obor názvů, vyberte obor názvů a klikněte na Spravovat. (Nebo klikněte na Access Control Obory názvů, vyberte obor názvů a potom klikněte na Spravovat.)
Tato akce otevře portál pro správu služby Access Control.
Pokud chcete aplikaci zaregistrovat v ACS, klikněte na aplikace předávající strany, klepněte na tlačítko Přidat a zadejte do formuláře následující informace:
Do pole Název zadejte ASPNET Simple Service.
Do pole Sféra zadejte https://localhost:8000/Service/
Do pole Zpáteční adresa URL zadejte https://localhost:8000/Service/
V rozevíracím seznamu Formát tokenu vyberte SWT.
V poli Podpisový klíč tokenu kliknutím na Vygenerovat vytvořte podpisový klíč tokenu. Zkopírujte tento klíč pro pozdější použití v konfiguraci.
Do pole Datum vypršení platnosti zadejte odpovídající datum vypršení platnosti klíče. Klíč již nebude platný k tomuto datu.
Ostatní pole ponechte ve svých výchozích hodnotách.
Klikněte na Uložit a potom se kliknutím na Domů vraťte na domovskou stránku portálu pro správu služby Access Control.
S zaregistrovanou předávající stranou je teď čas vytvořit pravidla, která určují deklarace identity, které služba ACS vydá vaší aplikaci. V této ukázce vytvoříme pravidlo, které udělí všem registrovaným uživatelským jménu a heslu deklaraci identity akce s hodnotou obrácené. Chcete-li vytvořit toto pravidlo, kliknutím na tlačítko Domů se vraťte na domovskou stránku portálu pro správu služby Access Control, klikněte na položku Skupiny pravidel a potom klikněte na výchozí skupinu pravidel pro ASP.NET Jednoduchá služba. Přidejte nové pravidlo s následujícím nastavením:
V části Vystavitel deklarací identity vyberte Access Control Službu.
V části Typ vstupní deklarace identity vyberte Libovolný.
V části Vstupní hodnota deklarace identity vyberte Libovolná.
V části Typ výstupní deklarace identity vyberte Do pole zadat typ a zadejte akci .
V části Výstupní hodnota deklarací identity vyberte Zadat hodnotu a do pole zadejte obrácený typ.
Na rozdíl od ukázek webu tato ukázka spoléhá na přihlašovací údaje spravované službou ACS. Posledním krokem při konfiguraci služby ACS je registrace uživatelského jména a hesla pro klientskou aplikaci, která se má použít. Pokud chcete nakonfigurovat nové uživatelské jméno a heslo, kliknutím na Domů se vraťte na domovskou stránku portálu pro správu služby Access Control, klikněte na Identity služby, klikněte na Přidat a vyplňte formulář. V této ukázce použijte uživatelské jméno acssample, heslo typu přihlašovacích údajů a heslo pass@word1.
Klikněte na Uložit a potom se kliknutím na Domů vraťte na domovskou stránku portálu pro správu služby Access Control.
Možnost 2: Konfigurace ukázky pomocí služby pro správu služby ACS
Ukázkové řešení Visual Studio má konzolovou aplikaci s názvem ConfigureSample, která používá službu ACS Management Service a běžné pomocné rutiny definované v knihovně běžných tříd. Tuto aplikaci lze použít ke konfiguraci Access Control oboru názvů pro použití s touto ukázkou.
Konfigurace ukázky pomocí služby ACS Management Service
Pokud chcete ukázku nakonfigurovat, otevřete SamplesConfiguration.cs (acs\Management\ManagementService\Common). Zástupné symboly ve třídě SamplesConfiguration v knihovně běžných tříd nahraďte informacemi o vašem oboru názvů Access Control. Informace najdete na portálu pro správu služby ACS.
Přejděte na portál pro správu služby ACS: Přejděte na portál pro správu Microsoft Azure (https://manage.WindowsAzure.com), přihlaste se a klikněte na Active Directory. (Tip pro řešení potíží: Položka Active Directory chybí nebo není k dispozici) Pokud chcete spravovat Access Control obor názvů, vyberte obor názvů a klikněte na Spravovat. (Nebo klikněte na Access Control Obory názvů, vyberte obor názvů a potom klikněte na Spravovat.)
ServiceNamespace – Zadejte název vašeho oboru názvů Access Control.
ManagementServiceIdentityName – Zadejte název účtu služby pro správu služby ACS. Výchozí hodnota je ManagementClient.
Pokud chcete najít název účtu služby pro správu, klikněte na portálu pro správu služby ACS na položku Správa. Účty jsou uvedené podle názvu v části Účty služeb pro správu.
ManagementServiceIdentityKey – Zadejte heslo pro účet služby pro správu.
Pokud chcete najít heslo účtu služby pro správu, klikněte na portálu pro správu služby ACS na položku Správa. Klikněte na název účtu služby pro správu a potom v části Přihlašovací údaje klikněte na Heslo. Heslo se zobrazí v poli Heslo . Pokud chcete heslo zkopírovat, klikněte na Zobrazit heslo.
Spusťte aplikaci ConfigureSample v Visual Studio. Tím nakonfigurujete službu ACS tak, aby spustila tuto ukázku.
Jakmile se aplikace ConfigureSample dokončí, vygeneruje do konzoly vygenerovaný podpisový klíč předávající strany. Zkopírujte tento klíč do schránky.
Spuštění ukázky
Chcete-li spustit ukázku
Otevřete ukázku v Visual Studio. Řešení se skládá ze dvou projektů: služba a klient.
Pokud jste to ještě neudělali, zadejte podrobnosti o oboru názvů Access Control v common\SamplesConfiguration.cs. Další informace najdete v kroku 1 možnosti 2: Konfigurace prostřednictvím služby pro správu služby ACS. Tento soubor také používá projekty služby a klienta.
Otevřete soubor web.config v projektu služby. Do příslušných elementů AppSettings zadejte podpisový klíč tokenu. Pokud jste službu ACS nakonfigurovali pomocí služby pro správu, jedná se o hodnotu, kterou jste zkopírovali do schránky. Pokud chcete získat podpisový klíč tokenu, projděte si oblast Certifikáty a klíče portálu. Níže je fragment kódu zobrazující tuto oblast souboru služby web.config.
<appSettings> <add key="IssuerSigningKey" value="...update to your signing key..."/> </appSettings>
Otevřete soubor app.config v projektu Klienta. Do příslušných elementů AppSettings zadejte své uživatelské jméno a heslo. Pokud chcete získat uživatelské jméno a heslo, které jste dříve zaregistrovali, přečtěte si oblast Identity služeb na portálu. Níže je fragment kódu zobrazující tuto oblast (správně aktualizováno) souboru klienta app.config.
<appSettings> <add key="OAuthUserName" value="acssample" /> <add key="OAuthPassword" value="pass@word1" /> <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" /> </appSettings>
Pokud chcete ukázku spustit, spusťte službu a spusťte klienta. V klientovi zadejte řetězec, který se má vrátit zpět. V okně konzoly klienta by se měl zobrazit výstup označující, že přijal token ze služby ACS.