Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przykład Federation sample demonstruje federacyjną ochronę.
Przykładowe szczegóły
Program Windows Communication Foundation (WCF) zapewnia obsługę wdrażania architektur zabezpieczeń federacyjnych za pośrednictwem programu wsFederationHttpBinding. Zapewnia wsFederationHttpBinding bezpieczne, niezawodne i współdziałające powiązanie, które obejmuje użycie protokołu HTTP jako podstawowego mechanizmu transportu do komunikacji żądań/odpowiedzi, a tekst/XML jako format przewodu do kodowania. Aby uzyskać więcej informacji na temat federacji w programie WCF, zobacz Federacja.
Scenariusz składa się z 4 elementów:
Usługa BookStore
BookStore STS
HomeRealm STS
Klient księgarni
Usługa BookStore obsługuje dwie operacje: BrowseBooks i BuyBook. Umożliwia anonimowy dostęp do operacji BrowseBooks, ale wymaga uwierzytelnionego dostępu do operacji BuyBooks. Uwierzytelnianie ma postać tokenu wystawionego przez usługę STS BookStore. Plik konfiguracji usługi BookStore kieruje klientów do usługi BookStore STS za pomocą 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>
Usługa BookStore STS następnie wymaga, aby klienci uwierzytelniali się za pomocą tokenu wystawionego przez usługę HomeRealm STS. Ponownie plik konfiguracji usługi STS BookStore kieruje klientów do usługi HomeRealm STS przy użyciu polecenia 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>
Sekwencja zdarzeń podczas wykonywania operacji BuyBook jest następująca:
Klient uwierzytelnia się w usłudze HomeRealm STS przy użyciu poświadczeń systemu Windows.
Usługa HomeRealm STS wystawia token, który może służyć do uwierzytelnienia się w usłudze STS BookStore.
Klient uwierzytelnia się w usłudze BookStore STS przy użyciu tokenu wystawionego przez usługę HomeRealm STS.
BookStore STS wystawia token, który może służyć do uwierzytelniania w usłudze BookStore.
Klient uwierzytelnia się w usłudze BookStore przy użyciu tokenu wystawionego przez usługę STS BookStore.
Klient uzyskuje dostęp do operacji
BuyBook.
Zapoznaj się z poniższymi instrukcjami dotyczącymi sposobu konfigurowania i uruchamiania tego przykładu.
Uwaga / Notatka
Aby uruchomić ten przykład, musisz mieć uprawnienia do zapisu w katalogu wwwroot .
Aby skonfigurować, skompilować i uruchomić przykładowy program
Otwórz okno polecenia zestawu SDK. W przykładowej ścieżce uruchom Setup.bat. Spowoduje to utworzenie katalogów wirtualnych wymaganych dla przykładu i zainstalowanie wymaganych certyfikatów z odpowiednimi uprawnieniami.
Uwaga / Notatka
Plik wsadowy Setup.bat jest przeznaczony do uruchamiania z wiersza polecenia zestawu Windows SDK. Wymaga to, aby zmienna środowiskowa MSSDK wskazywała katalog, w którym zainstalowano zestaw SDK. Ta zmienna środowiskowa jest automatycznie ustawiana w wierszu polecenia zestawu Windows SDK. W systemie Windows Vista należy upewnić się, że jest zainstalowana zgodność zarządzania usługami IIS 6.0, ponieważ konfiguracja używa skryptów administratora usług IIS. Uruchomienie skryptu konfiguracji w systemie Windows Vista wymaga uprawnień administratora.
Otwórz FederationSample.sln w programie Visual Studio i wybierz pozycję Kompiluj rozwiązanie z menu Kompilacja . Spowoduje to skompilowanie typowych plików projektu, usługi księgarni, usługi Bookstore STS, HomeRealm STS i wdrożenia ich w usługach IIS. Spowoduje to również skompilowanie aplikacji klienckiej księgarni i umieszczenie pliku wykonywalnego BookStoreClient.exe w folderze FederationSample\BookStoreClient\bin\Debug.
Kliknij dwukrotnie BookStoreClient.exe. Zostanie wyświetlone okno BookStoreClient.
Możesz przeglądać książki dostępne w księgarni, klikając pozycję Przeglądaj książki.
Aby kupić określoną książkę, wybierz książkę z listy i kliknij pozycję Kup książkę. Aplikacja uruchamia się i uwierzytelnia przy użyciu uwierzytelniania systemu Windows za pomocą usługi tokenu zabezpieczającego HomeRealm.
Przykład jest skonfigurowany tak, aby umożliwić użytkownikom kupowanie książek, które kosztują 15 USD lub mniej. Próba zakupu książek, które kosztują ponad 15 USD, powoduje, że klient otrzymuje komunikat Odmowa dostępu z usługi Księgawnictwa.
Uwaga / Notatka
Przykład nie aktualizuje limitu środków użytkownika po zakupie. Książki można wielokrotnie kupować w ramach limitu środków (stałego) użytkownika.
Aby wyczyścić
Uruchom Cleanup.bat. Spowoduje to usunięcie katalogów wirtualnych utworzonych podczas konfigurowania, a także usunięcie certyfikatów zainstalowanych podczas instalacji.