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 BrowseBooks
BuyBook
. 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í:
Klient se ověří ve službě HomeRealm STS pomocí přihlašovacích údajů systému Windows.
HomeRealm STS vydává token, který lze použít k ověření ve službě BookStore STS.
Klient se ověří ve službě BookStore STS pomocí tokenu vydaného homeRealm STS.
Služba STS BookStore vydává token, který lze použít k ověření ve službě BookStore.
Klient se ověří ve službě BookStore pomocí tokenu vydaného službou BookStore STS.
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
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.
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.
Poklikejte na BookStoreClient.exe. Zobrazí se okno BookStoreClient.
Knihy dostupné v knihkupectví můžete procházet kliknutím na Procházet knihy.
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.