Aracılığıyla paylaş


Federasyon Örneği

Federasyon örneği federasyon güvenliğini gösterir.

Örnek Ayrıntılar

Windows Communication Foundation (WCF), wsFederationHttpBinding aracılığıyla federe güvenlik mimarilerini dağıtmak için destek sağlar. , wsFederationHttpBinding istek/yanıt iletişimi için temel aktarım mekanizması olarak HTTP ve kodlama için tel biçimi olarak Metin/XML kullanımını içeren güvenli, güvenilir ve birlikte çalışabilen bir bağlama sağlar. WCF'de Federasyon hakkında daha fazla bilgi için bkz. Federasyon.

Senaryo 4 parçadan oluşur:

  • BookStore hizmeti

  • BookStore STS

  • HomeRealm STS

  • BookStore İstemcisi

BookStore hizmeti, BrowseBooks ve BuyBook adlı iki işlemi destekler. İşlem için BrowseBooks anonim erişime izin verir, ancak işleme erişmek BuyBooks için kimliği doğrulanmış erişim gerektirir. Kimlik doğrulaması, BookStore STS tarafından verilen bir belirteç biçimini alır. BookStore Hizmeti yapılandırma dosyası, istemcileri BookStore STS'sine yönlendirir 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 daha sonra istemcilerin HomeRealm STS tarafından verilen bir belirteci kullanarak kimlik doğrulamasını gerektirir. Yeniden, BookStore STS yapılandırma dosyası, wsFederationHttpBinding kullanarak istemcilerini HomeRealm STS'ye işaret eder.

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

İşleme erişirken BuyBook gerçekleşen olayların sırası aşağıdaki gibidir:

  1. İstemci, Windows kimlik bilgilerini kullanarak HomeRealm STS'de kimlik doğrulaması yapar.

  2. HomeRealm STS, BookStore STS'de kimlik doğrulaması yapmak için kullanılabilecek bir belirteç oluşturur.

  3. İstemci, HomeRealm STS tarafından verilen jetonu kullanarak BookStore STS'de kimlik doğrulaması yapar.

  4. BookStore STS, BookStore Hizmetine kimlik doğrulamak için kullanılabilecek bir token oluşturur.

  5. İstemci, BookStore STS tarafından verilen belirteci kullanarak BookStore hizmetinde kimlik doğrulaması yapar.

  6. İstemci BuyBook işlemine erişir.

Bu örneği ayarlama ve çalıştırma hakkında aşağıdaki yönergelere bakın.

Uyarı

Bu örneği çalıştırmak için wwwroot dizininde Yazma izinlerine sahip olmanız gerekir.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. SDK komut penceresini açın. Örnek yolda Setup.batçalıştırın. Bu, örnek için gerekli sanal dizinleri oluşturur ve gerekli sertifikaları uygun izinlerle yükler.

    Uyarı

    Setup.bat toplu iş dosyası bir Windows SDK Komut İsteminden çalıştırılacak şekilde tasarlanmıştır. MSSDK ortam değişkeninin SDK'nın yüklü olduğu dizine işaret etmelerini gerektirir. Bu ortam değişkeni bir Windows SDK Komut İstemi içinde otomatik olarak ayarlanır. Windows Vista'da, kurulumDA IIS yönetici betikleri kullanıldığı için IIS 6.0 Yönetim Uyumluluğu'un yüklü olduğundan emin olmanız gerekir. Windows Vista'da kurulum betiğini çalıştırmak için yönetici ayrıcalıkları gerekir.

  2. Visual Studio'da FederationSample.sln açın ve Derleme menüsünden Çözüm Derle'yi seçin. Bu, ortak proje dosyalarını, Bookstore hizmetini, Kitapçı STS'sini, HomeRealm STS'yi oluşturur ve bunları IIS'de dağıtır. Bu aynı zamanda Bookstore İstemci Uygulamasını oluşturur ve yürütülebilir BookStoreClient.exe'ı FederationSample\BookStoreClient\bin\Debug klasörüne yerleştirir.

  3. BookStoreClient.exeöğesine çift tıklayın. BookStoreClient penceresi görüntülenir.

  4. Kitapçıda bulunan kitaplara Göz At'a tıklayarak erişebilirsiniz.

  5. Belirli bir kitabı satın almak için listeden kitabı seçin ve Kitap Satın Al'a tıklayın. Uygulama başlatılır ve HomeRealm Güvenlik Belirteci Hizmeti ile Windows kimlik doğrulamasını kullanarak kimlik doğrulaması yapar.

    Örnek, kullanıcıların 15 ABD doları veya daha düşük maliyetli kitaplar satın almasına izin verecek şekilde yapılandırılmıştır. 15 ABD dolarından daha pahalı kitapları satın almaya çalışmak, müşterinin Kitap Mağazası Hizmeti'nden Erişim Reddedildi iletisi almasına neden olur.

    Uyarı

    Örnek, satın alma sonrasında kullanıcının kredi limitini güncelleştirmez. Kullanıcının (sabit) kredi limiti içinde sürekli olarak kitap satın alabilirsiniz.

Temizlik amaçlı

Cleanup.batçalıştırın. Bu işlem, kurulum sırasında oluşturulan sanal dizinleri siler ve ayrıca kurulum sırasında yüklenen sertifikaları kaldırır.