Instrukcje: Konfigurowanie lokalnego wystawcy
W tym temacie opisano sposób konfigurowania klienta pod kątem używania wystawcy lokalnego dla wystawionych tokenów.
Często, gdy klient komunikuje się z usługą federacyjną, usługa określa adres usługi tokenu zabezpieczającego, która ma wystawiać token, który będzie używany przez klienta do uwierzytelniania się w usłudze federacyjnej. W niektórych sytuacjach klient może być skonfigurowany do używania lokalnego wystawcy.
Program Windows Communication Foundation (WCF) używa lokalnego wystawcy w przypadkach, gdy adres wystawcy powiązania federacyjnego to http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
lub null
. W takich przypadkach należy skonfigurować ClientCredentials element z adresem lokalnego wystawcy i powiązaniem, które będzie używane do komunikowania się z tym wystawcą.
Uwaga
Jeśli właściwość ClientCredentials
klasy jest ustawiona na true
, lokalny adres wystawcy nie jest określony, a adres wystawcy określony przez< wsFederationHttpBinding> lub inne powiązanie federacyjne to http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self
, http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
lub jest null
, jest używany wystawca Windows CardSpace.SupportInteractive
Aby skonfigurować wystawcę lokalnego w kodzie
Tworzenie zmiennej typu IssuedTokenClientCredential
Ustaw zmienną na wystąpienie zwrócone z IssuedToken właściwości
ClientCredentials
klasy. To wystąpienie jest zwracane przez ClientCredentials właściwość klienta (dziedziczone z ClientBase<TChannel>klasy ) lub Credentials właściwość elementu ChannelFactory:IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
LocalIssuerAddress Ustaw właściwość na nowe wystąpienie EndpointAddressklasy , z adresem lokalnego wystawcy jako argumentem konstruktora.
itcc.LocalIssuerAddress = new EndpointAddress("http://fabrikam.com/sts");
itcc.LocalIssuerAddress = New EndpointAddress("http://fabrikam.com/sts")
Alternatywnie utwórz nowe Uri wystąpienie jako argument konstruktora.
itcc.LocalIssuerAddress = new EndpointAddress(new Uri("http://fabrikam.com/sts"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress( _ New Uri("http://fabrikam.com/sts"), addressHeaders)
Parametr
addressHeaders
jest tablicą AddressHeader wystąpień, jak pokazano.itcc.LocalIssuerAddress = new EndpointAddress( new Uri("http://fabrikam.com/sts"), EndpointIdentity.CreateDnsIdentity("fabrikam.com"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress(New Uri("http://fabrikam.com/sts"), _ EndpointIdentity.CreateDnsIdentity("fabrikam.com"), addressHeaders)
Ustaw powiązanie dla wystawcy lokalnego LocalIssuerBinding przy użyciu właściwości .
itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
Opcjonalny. Dodaj skonfigurowane zachowania punktu końcowego dla lokalnego wystawcy, dodając takie zachowania do kolekcji zwróconej LocalIssuerChannelBehaviors przez właściwość .
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior);
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior)
Aby skonfigurować lokalnego wystawcę w konfiguracji
Utwórz element localIssuer> jako element podrzędny <elementu issuedToken>, który jest samym elementem podrzędnym< elementu clientCredentials> w zachowaniu punktu końcowego.<
address
Ustaw atrybut na adres lokalnego wystawcy, który będzie akceptować żądania tokenu.binding
Ustaw atrybuty ibindingConfiguration
na wartości odwołujące się do odpowiedniego powiązania, które mają być używane podczas komunikacji z lokalnym punktem końcowym wystawcy.Opcjonalny. <Ustaw element tożsamości> jako element podrzędny elementu i określ informacje o tożsamości dla lokalnego
<localIssuer>
wystawcy.Opcjonalny. <Ustaw element nagłówków jako element podrzędny
<localIssuer>
elementu i określ dodatkowe nagłówki>, które są wymagane w celu poprawnego adresowania lokalnego wystawcy.
Zabezpieczenia.NET Framework
Należy pamiętać, że jeśli dla danego powiązania określono adres wystawcy i powiązanie, lokalny wystawca nie jest używany dla punktów końcowych korzystających z tego powiązania. Klienci, którzy oczekują, że zawsze korzystają z wystawcy lokalnego, powinni upewnić się, że nie używają takiego powiązania lub że modyfikują powiązanie tak, aby adres wystawcy to null
.