Ukázka federace

Ukázka federace ukazuje federované zabezpečení.

Ukázkové podrobnosti

Windows Communication Foundation (WCF) poskytuje podporu pro nasazení federovaných architektur zabezpečení prostřednictvím nástroje wsFederationHttpBinding. Poskytuje wsFederationHttpBinding zabezpečenou, spolehlivou a interoperabilní vazbu, která zahrnuje použití protokolu HTTP jako základního přenosového mechanismu pro komunikaci požadavků/odpovědí a text/XML jako formát přenosu pro kódování. Další informace o federaci ve WCF naleznete v tématu Federace.

Scénář se skládá ze 4 částí:

  • Služba BookStore

  • BookStore STS

  • HomeRealm STS

  • Klient BookStore

Služba BookStore podporuje dvě operace a BrowseBooksBuyBook. Umožňuje anonymní přístup k BrowseBooks operaci, ale vyžaduje ověřený přístup pro přístup k BuyBooks operaci. Ověřování má formu tokenu vydaného službou StS BookStore. Konfigurační soubor služby BookStore odkazuje klienty na stS BookStore pomocí .wsFederationHttpBinding

<wsFederationHttpBinding>
<!-- This is the Service binding for the BuyBooks endpoint. It redirects clients to the BookStore STS -->
    <binding name='BuyBookBinding'>
        <security mode="Message">
            <message>
                <issuerMetadata
  address='http://localhost/FederationSample/BookStoreSTS/STS.svc/mex' >
                    <identity>
                        <dns value ='BookStoreSTS.com'/>
                    </identity>
                </issuerMetadata>
            </message>
        </security>
    </binding>
</wsFederationHttpBinding>

BookStore STS pak vyžaduje, aby se klienti ověřili pomocí tokenu vydaného homeRealm STS. Znovu konfigurační soubor pro BookStore STS odkazuje klienty na HomeRealm STS pomocí wsFederationHttpBinding.

<wsFederationHttpBinding>
 <!-- This is the binding for the clients requesting tokens from this STS. It redirects clients to the HomeRealm STS -->
    <binding name='BookStoreSTSBinding'>
        <security mode='Message'>
            <message>
                <issuerMetadata
address='http://localhost/FederationSample/HomeRealmSTS/STS.svc/mex' >
                    <identity>
                        <dns value ='HomeRealmSTS.com' />
                    </identity>
                </issuerMetadata>
            </message>
        </security>
    </binding>
</wsFederationHttpBinding>

Posloupnost událostí při přístupu k BuyBook operaci je následující:

  1. Klient se ověří ve službě HomeRealm STS pomocí přihlašovacích údajů systému Windows.

  2. HomeRealm STS vydává token, který lze použít k ověření ve službě BookStore STS.

  3. Klient se ověří ve službě BookStore STS pomocí tokenu vydaného homeRealm STS.

  4. Služba STS BookStore vydává token, který lze použít k ověření ve službě BookStore.

  5. Klient se ověří ve službě BookStore pomocí tokenu vydaného službou BookStore STS.

  6. Klient přistupuje k BuyBook operaci.

Projděte si následující pokyny k nastavení a spuštění této ukázky.

Poznámka:

Ke spuštění této ukázky musíte mít oprávnění k zápisu do adresáře wwwroot .

Nastavení, sestavení a spuštění ukázky

  1. Otevřete příkazové okno sady SDK. V ukázkové cestě spusťte Setup.bat. Tím se vytvoří virtuální adresáře požadované pro ukázku a nainstalují požadované certifikáty s příslušnými oprávněními.

    Poznámka:

    Dávkový soubor Setup.bat je navržený tak, aby běžel z příkazového řádku sady Windows SDK. Vyžaduje, aby proměnná prostředí MSSDK odkazovala na adresář, ve kterém je sada SDK nainstalovaná. Tato proměnná prostředí se automaticky nastaví v příkazovém řádku sady Windows SDK. V systému Windows Vista je nutné zajistit, aby byla nainstalována kompatibilita správy služby IIS 6.0, protože nastavení používá skripty správce služby IIS. Spuštění instalačního skriptu v systému Windows Vista vyžaduje oprávnění správce.

  2. Otevřete FederationSample.sln v sadě Visual Studio a v nabídce Sestavení vyberte Sestavit řešení. Tím se sestaví běžné soubory projektu, služba Bookstore, Bookstore STS, HomeRealm STS a nasadí je ve službě IIS. Tím se také sestaví klientská aplikace Bookstore a umístí spustitelný BookStoreClient.exe do složky FederationSample\BookStoreClient\bin\Debug.

  3. Poklikejte na BookStoreClient.exe. Zobrazí se okno BookStoreClient.

  4. Knihy dostupné v knihkupectví můžete procházet kliknutím na Procházet knihy.

  5. Pokud chcete koupit určitou knihu, vyberte knihu v seznamu a klikněte na Koupit knihu. Aplikace se spustí a ověří pomocí ověřování systému Windows ve službě tokenů zabezpečení HomeRealm.

    Ukázka je nakonfigurovaná tak, aby uživatelům umožňovala nakupovat knihy, které stojí 15 usd nebo méně. Při pokusu o zakoupení knih, které stojí více než 15 USD, se klientovi zobrazí zpráva o odepření přístupu ze služby Knihkupectví.

    Poznámka:

    Ukázka neaktualizuje limit kreditu uživatele po nákupu. Knihy můžete opakovaně nakupovat v rámci (pevného) limitu kreditu uživatele.

Vyčištění

Spusťte Cleanup.bat. Tím se odstraní virtuální adresáře vytvořené během nastavování a odeberou se také certifikáty nainstalované během instalace.