Bagikan melalui


Sampel Federasi

Sampel Federasi menunjukkan keamanan federasi.

Detail Sampel

Windows Communication Foundation (WCF) menyediakan dukungan untuk menyebarkan arsitektur keamanan gabungan melalui wsFederationHttpBinding. wsFederationHttpBinding menyediakan pengikatan yang aman, andal, dan dapat dioperasikan yang melibatkan penggunaan HTTP sebagai mekanisme transportasi yang mendasari untuk komunikasi permintaan/balasan, dan Teks/XML sebagai format kawat untuk pengodean. Untuk informasi selengkapnya tentang Federasi di WCF, lihat Federasi.

Skenario ini terdiri dari 4 bagian:

  • Layanan BookStore

  • BookStore STS

  • HomeRealm STS

  • Pelanggan Toko Buku

Layanan BookStore mendukung dua operasi, BrowseBooks dan BuyBook. Ini memungkinkan akses anonim ke BrowseBooks operasi, tetapi memerlukan akses terautentikasi untuk mengakses BuyBooks operasi. Autentikasi mengambil bentuk token yang dikeluarkan oleh BOOKStore STS. File konfigurasi untuk bookStore Service menunjuk klien ke BookStore STS menggunakan 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 kemudian mengharuskan klien mengautentikasi menggunakan token yang dikeluarkan oleh HOMERealm STS. Terlebih lagi, file konfigurasi untuk BookStore STS mengarahkan klien ke HomeRealm STS menggunakan 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>

Urutan peristiwa saat mengakses BuyBook operasi adalah sebagai berikut:

  1. Klien mengautentikasi ke STS HomeRealm menggunakan kredensial Windows.

  2. HOMERealm STS mengeluarkan token yang dapat digunakan untuk mengautentikasi ke BOOKStore STS.

  3. Klien mengautentikasi ke BOOKStore STS menggunakan token yang dikeluarkan oleh HomeRealm STS.

  4. BOOKStore STS mengeluarkan token yang dapat digunakan untuk mengautentikasi ke BookStore Service.

  5. Klien mengautentikasi ke layanan BookStore menggunakan token yang dikeluarkan oleh BookStore STS.

  6. Klien mengakses operasi BuyBook.

Lihat instruksi berikut tentang cara menyiapkan dan menjalankan sampel ini.

Nota

Anda harus memiliki izin Tulis ke direktori wwwroot untuk menjalankan sampel ini.

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Buka jendela perintah SDK. Di jalur sampel, jalankan Setup.bat. Ini membuat direktori virtual yang diperlukan untuk sampel dan menginstal sertifikat yang diperlukan dengan izin yang sesuai.

    Nota

    File batch Setup.bat dirancang untuk dijalankan dari Command Prompt Windows SDK. Hal ini mengharuskan variabel lingkungan MSSDK menunjuk ke direktori tempat SDK diinstal. Variabel lingkungan ini secara otomatis diatur dalam Prompt Perintah Windows SDK. Di Windows Vista, Anda harus memastikan bahwa Kompatibilitas Manajemen IIS 6.0 diinstal karena penyiapan menggunakan skrip administrator IIS. Menjalankan skrip penyetelan pada Windows Vista memerlukan hak istimewa administrator.

  2. Buka FederationSample.sln di Visual Studio dan pilih Build Solution dari menu Build . Ini membangun file proyek umum, layanan Bookstore, Bookstore STS, HomeRealm STS, dan menyebarkannya di IIS. Ini juga membangun aplikasi klien Bookstore dan menempatkan BookStoreClient.exe yang dapat dieksekusi di folder FederationSample\BookStoreClient\bin\Debug.

  3. Klik dua kali BookStoreClient.exe. Jendela BookStoreClient ditampilkan.

  4. Anda dapat menelusuri buku yang tersedia di toko buku dengan mengklik Telusuri Buku.

  5. Untuk membeli buku tertentu, pilih buku dalam daftar dan klik Beli Buku. Aplikasi memulai dan mengautentikasi menggunakan autentikasi Windows dengan Layanan Token Keamanan HomeRealm.

    Sampel dikonfigurasi untuk memungkinkan pengguna membeli buku yang harganya $ 15 atau kurang. Mencoba membeli buku yang harganya lebih dari $15 mengakibatkan klien mendapatkan pesan Akses Ditolak dari Layanan Toko Buku.

    Nota

    Sampel tidak memperbarui batas kredit pengguna setelah pembelian. Anda dapat berulang kali membeli buku dalam batas kredit pengguna (tetap).

Untuk membersihkan

Jalankan Cleanup.bat. Ini menghapus direktori virtual yang dibuat selama penyiapan dan juga menghapus sertifikat yang diinstal selama penyiapan.