Postupy: Konfigurace místního vystavitele
Toto téma popisuje, jak nakonfigurovat klienta tak, aby pro vystavené tokeny používal místního vystavitele.
Když klient komunikuje s federovanou službou, často určuje adresu služby tokenů zabezpečení, u které se očekává vydání tokenu, klient se použije k ověření ve federované službě. V některých situacích může být klient nakonfigurovaný tak, aby používal místního vystavitele.
Windows Communication Foundation (WCF) používá místního vystavitele v případech, kdy je http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
adresa vystavitele federované vazby nebo null
. V takových případech musíte nakonfigurovat ClientCredentials adresu místního vystavitele a vazbu, která se má použít ke komunikaci s tímto vystavitelem.
Poznámka:
SupportInteractive Pokud je vlastnost ClientCredentials
třídy nastavena na true
, místní vystavitel adresa není zadána a vystavitel určen wsFederationHttpBinding>< nebo jiné federované vazby je http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self
, http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
nebo je null
, pak se použije vystavitel Windows CardSpace.
Konfigurace místního vystavitele v kódu
Vytvoření proměnné typu IssuedTokenClientCredential
Nastavte proměnnou na instanci vrácenou IssuedToken z vlastnosti
ClientCredentials
třídy. Tato instance je vrácena ClientCredentials vlastností klienta (zděděno z ClientBase<TChannel>) nebo Credentials vlastnosti ChannelFactory:IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
LocalIssuerAddress Nastavte vlastnost na novou instanci objektu EndpointAddress, s adresou místního vystavitele jako argument konstruktoru.
itcc.LocalIssuerAddress = new EndpointAddress("http://fabrikam.com/sts");
itcc.LocalIssuerAddress = New EndpointAddress("http://fabrikam.com/sts")
Alternativně vytvořte novou Uri instanci jako argument konstruktoru.
itcc.LocalIssuerAddress = new EndpointAddress(new Uri("http://fabrikam.com/sts"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress( _ New Uri("http://fabrikam.com/sts"), addressHeaders)
Parametr
addressHeaders
je pole AddressHeader instancí, jak je znázorněno.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)
Nastavte vazbu pro místního vystavitele pomocí LocalIssuerBinding vlastnosti.
itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
Nepovinné. Přidejte nakonfigurované chování koncového bodu pro místního vystavitele přidáním takového chování do kolekce vrácené LocalIssuerChannelBehaviors vlastností.
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior);
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior)
Konfigurace místního vystavitele v konfiguraci
Vytvořte localIssuer> element jako podřízený <vystavenýToken> element, který je sám podřízeným< elementem clientCredentials> v chování koncového bodu.<
address
Nastavte atribut na adresu místního vystavitele, který bude přijímat žádosti o tokeny.binding
Nastavte hodnoty abindingConfiguration
atributy, které odkazují na příslušnou vazbu, která se má použít při komunikaci s koncovým bodem místního vystavitele.Nepovinné. <Nastavte element identity> jako podřízený
<localIssuer>
prvek elementu a zadejte informace o identitě pro místního vystavitele.Nepovinné. <Nastavte element headers> jako podřízený
<localIssuer>
prvek a zadejte další hlavičky, které jsou požadovány pro správnou adresu místního vystavitele.
Zabezpečení rozhraní .NET Framework
Všimněte si, že pokud je pro danou vazbu zadána adresa vystavitele a vazba, místní vystavitel se nepoužívá pro koncové body, které tuto vazbu používají. Klienti, kteří očekávají, že budou vždy používat místního vystavitele, by měli zajistit, aby takové vazby nepoužívali nebo aby upravili vazbu tak, aby adresa vystavitele byla null
.