Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az összevonási minta az összevont biztonságot mutatja be.
Minta részletei
A Windows Communication Foundation (WCF) támogatja az összevont biztonsági architektúrák üzembe helyezését a wsFederationHttpBinding. Ez wsFederationHttpBinding biztonságos, megbízható és interoperábilis kötést biztosít, amely magában foglalja a HTTP használatát a kérések/válaszok kommunikációjának alapjául szolgáló átviteli mechanizmusként, a text/XML pedig a kódolás drótformátumaként. Az összevonásról a WCF-ben az Összevonás című témakörben talál további információt.
A forgatókönyv 4 darabból áll:
BookStore szolgáltatás
BookStore STS
HomeRealm STS
BookStore-ügyfél
A BookStore szolgáltatás két műveletet támogat, BrowseBooks és BuyBook. Lehetővé teszi a BrowseBooks művelet névtelen elérését, de hitelesített hozzáférést igényel a BuyBooks művelet eléréséhez. A hitelesítés a BookStore STS által kibocsátott token formájában történik. A BookStore szolgáltatás konfigurációs fájlja segítségével az ügyfeleket a BookStore STS-hez irányítja a 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>
A BookStore STS ezután megköveteli, hogy az ügyfelek a HomeRealm STS által kibocsátott jogkivonattal hitelesítsék magukat. A BookStore STS konfigurációs fájlja a wsFederationHttpBinding használatával ismét a HomeRealm STS-re irányítja az ügyfeleket.
<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>
A BuyBook művelet végrehajtásakor az események sorrendje a következő:
Az ügyfél Windows-hitelesítő adatokkal hitelesíti a HomeRealm STS-t.
A HomeRealm STS kiad egy jogkivonatot, amely a BookStore STS-ben való hitelesítéshez használható.
Az ügyfél a HomeRealm STS által kibocsátott jogkivonat használatával hitelesíti magát a BookStore STS-nél.
A BookStore STS kiad egy jogkivonatot, amely a BookStore szolgáltatáshoz való azonosításra használható.
Az ügyfél a BookStore STS által kibocsátott jogkivonat használatával azonosítja magát a BookStore szolgáltatásnál.
Az ügyfél hozzáfér a
BuyBookművelethez.
Tekintse meg a minta beállításával és futtatásával kapcsolatos alábbi utasításokat.
Megjegyzés:
A minta futtatásához írási engedéllyel kell rendelkeznie a wwwroot könyvtárhoz.
A példa beállítása, elkészítése és futtatása
Nyissa meg az SDK parancsablakát. A mintaútvonalon futtassa Setup.bat. Ez létrehozza a mintához szükséges virtuális könyvtárakat, és telepíti a szükséges tanúsítványokat a megfelelő engedélyekkel.
Megjegyzés:
A Setup.bat kötegfájl úgy van kialakítva, hogy windowsos SDK parancssorból fusson. Ehhez az MSSDK környezeti változónak arra a könyvtárra kell mutatnia, amelyben az SDK telepítve van. Ez a környezeti változó automatikusan be van állítva egy Windows SDK parancssorban. Windows Vista rendszeren győződjön meg arról, hogy az IIS 6.0 felügyeleti kompatibilitás telepítve van, mert a beállítás IIS-rendszergazdai szkripteket használ. A beállítási szkript Windows Vista rendszeren való futtatásához rendszergazdai jogosultságokra van szükség.
Nyissa meg a FederationSample.sln a Visual Studióban, és válassza a Build menü Build Solution elemét. Ez létrehozza a közös projektfájlokat, a Bookstore szolgáltatást, a Bookstore STS-t, a HomeRealm STS-t, és üzembe helyezi őket az IIS-ben. Ez a Bookstore ügyfélalkalmazást is felépíti, és a BookStoreClient.exe végrehajtható fájlt a FederationSample\BookStoreClient\bin\Debug mappába helyezi.
Kattintson duplán a BookStoreClient.exe. Megjelenik a BookStoreClient ablak.
A könyvesboltban elérhető könyvek között a Tallózás gombra kattintva böngészhet.
Egy adott könyv megvásárlásához jelölje ki a könyvet a listában, és kattintson a Könyv vásárlása gombra. Az alkalmazás windowsos hitelesítéssel indul el és hitelesít a HomeRealm Security Token Service szolgáltatással.
A minta úgy van konfigurálva, hogy lehetővé tegye a felhasználók számára a 15 usd vagy annál kisebb költségű könyvek vásárlását. Ha 15 dollárnál nagyobb költségű könyveket próbál vásárolni, az ügyfél hozzáférést megtagadó üzenetet kap a Könyvesbolt szolgáltatástól.
Megjegyzés:
A minta nem frissíti a felhasználó kreditkorlátját a vásárlás után. A könyveket a felhasználó (rögzített) kreditkorlátján belül is megvásárolhatja.
Tisztítani
Futtassa a Cleanup.bat. Ez törli a beállítás során létrehozott virtuális könyvtárakat, és a telepítés során telepített tanúsítványokat is eltávolítja.