Megosztás a következőn keresztül:


Ö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 BuyBooka . 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ő:

  1. Az ügyfél Windows-hitelesítő adatokkal hitelesíti a HomeRealm STS-t.

  2. A HomeRealm STS kiad egy jogkivonatot, amely a BookStore STS-ben való hitelesítéshez használható.

  3. Az ügyfél a HomeRealm STS által kibocsátott jogkivonat használatával hitelesíti a BookStore STS-t.

  4. A BookStore STS kiad egy jogkivonatot, amely a BookStore szolgáltatásban való hitelesítéshez használható.

  5. Az ügyfél a BookStore STS által kibocsátott jogkivonat használatával hitelesíti a BookStore szolgáltatást.

  6. 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

  1. 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.

  2. 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.

  3. Kattintson duplán a BookStoreClient.exe. Megjelenik a BookStoreClient ablak.

  4. A könyvesboltban elérhető könyvek között a Tallózás gombra kattintva böngészhet.

  5. 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.