Összevonási minta
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
a . 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 jogkivonat formájában történik. A BookStore szolgáltatás konfigurációs fájlja a BookStore STS-hez irányítja az ügyfeleket 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 ismét a HomeRealm STS-re irányítja az ügyfeleket a 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>
A művelet elérésekor az események sorrendje a BuyBook
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 a BookStore STS-t.
A BookStore STS kiad egy jogkivonatot, amely a BookStore szolgáltatásban való hitelesítéshez használható.
Az ügyfél a BookStore STS által kibocsátott jogkivonat használatával hitelesíti a BookStore szolgáltatást.
Az ügyfél hozzáfér a
BuyBook
művelethez.
Tekintse meg a minta beállításával és futtatásával kapcsolatos alábbi utasításokat.
Feljegyzés
A minta futtatásához írási engedéllyel kell rendelkeznie a wwwroot könyvtárhoz.
A minta beállítása, összeállítása és futtatása
Nyissa meg az SDK parancsablakát. A mintaútvonalon futtassa a 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.
Feljegyzés
A Setup.bat kötegfájl úgy lett 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 létrehozza a Bookstore ügyfélalkalmazást is, és a végrehajtható BookStoreClient.exe 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.
Feljegyzé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ítás
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.