Anvisningar: Konfigurera en lokal utfärdare
I det här avsnittet beskrivs hur du konfigurerar en klient för att använda en lokal utfärdare för utfärdade token.
När en klient kommunicerar med en federerad tjänst anger tjänsten ofta adressen till den säkerhetstokentjänst som förväntas utfärda den token som klienten använder för att autentisera sig själv till den federerade tjänsten. I vissa situationer kan klienten konfigureras för att använda en lokal utfärdare.
Windows Communication Foundation (WCF) använder en lokal utfärdare i fall där utfärdaradressen för en federerad bindning är http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
eller null
. I sådana fall måste du konfigurera med adressen till den lokala utfärdaren och bindningen som ska användas för att kommunicera med utfärdaren ClientCredentials .
Kommentar
Om egenskapen ClientCredentials
för klassen är inställd på true
, anges ingen lokal utfärdaradress och utfärdaradressen< som anges av wsFederationHttpBinding eller annan federerad bindning> är http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self
, http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
eller är null
, används Windows CardSpace-utfärdaren.SupportInteractive
Så här konfigurerar du den lokala utfärdaren i kod
Skapa en variabel av typen IssuedTokenClientCredential
Ange variabeln till den instans som returneras från IssuedToken egenskapen för
ClientCredentials
klassen. Den instansen ClientCredentials returneras av egenskapen för klienten (ärvd från ClientBase<TChannel>) eller Credentials egenskapen för ChannelFactory:IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
LocalIssuerAddress Ange egenskapen till en ny instans av EndpointAddress, med adressen till den lokala utfärdaren som ett argument till konstruktorn.
itcc.LocalIssuerAddress = new EndpointAddress("http://fabrikam.com/sts");
itcc.LocalIssuerAddress = New EndpointAddress("http://fabrikam.com/sts")
Du kan också skapa en ny Uri instans som ett argument för konstruktorn.
itcc.LocalIssuerAddress = new EndpointAddress(new Uri("http://fabrikam.com/sts"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress( _ New Uri("http://fabrikam.com/sts"), addressHeaders)
Parametern
addressHeaders
är en matris med AddressHeader instanser, som visas.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)
Ange bindningen för den lokala utfärdaren LocalIssuerBinding med hjälp av egenskapen .
itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
Valfritt. Lägg till konfigurerade slutpunktsbeteenden för den lokala utfärdaren genom att lägga till sådana beteenden i samlingen som returneras av LocalIssuerChannelBehaviors egenskapen.
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior);
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior)
Så här konfigurerar du den lokala utfärdaren i konfigurationen
Skapa ett localIssuer-element> som underordnat det< issuedToken-element> som i sig är underordnat elementet< clientCredentials i ett slutpunktsbeteende>.<
address
Ange attributet till adressen för den lokala utfärdaren som accepterar tokenbegäranden.Ange attributen
binding
ochbindingConfiguration
till värden som refererar till lämplig bindning som ska användas vid kommunikation med den lokala utfärdarens slutpunkt.Valfritt. Ange identitetselementet <> som underordnat element och
<localIssuer>
ange identitetsinformation för den lokala utfärdaren.Valfritt. Ange elementet <headers> som underordnat element och
<localIssuer>
ange ytterligare rubriker som krävs för att åtgärda den lokala utfärdaren korrekt.
.NET Framework-säkerhet
Observera att om en utfärdaradress och bindning anges för en viss bindning används inte den lokala utfärdaren för slutpunkter som använder bindningen. Klienter som förväntar sig att alltid använda den lokala utfärdaren bör se till att de inte använder en sådan bindning eller att de ändrar bindningen så att utfärdaradressen är null
.