Dela via


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/Anonymouseller är null, används Windows CardSpace-utfärdaren.SupportInteractive

Så här konfigurerar du den lokala utfärdaren i kod

  1. Skapa en variabel av typen IssuedTokenClientCredential

  2. 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
    
  3. 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)
    
  4. Ange bindningen för den lokala utfärdaren LocalIssuerBinding med hjälp av egenskapen .

    itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
    
    itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
    
  5. 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

  1. Skapa ett localIssuer-element> som underordnat det< issuedToken-element> som i sig är underordnat elementet< clientCredentials i ett slutpunktsbeteende>.<

  2. address Ange attributet till adressen för den lokala utfärdaren som accepterar tokenbegäranden.

  3. Ange attributen binding och bindingConfiguration till värden som refererar till lämplig bindning som ska användas vid kommunikation med den lokala utfärdarens slutpunkt.

  4. Valfritt. Ange identitetselementet <> som underordnat element och <localIssuer> ange identitetsinformation för den lokala utfärdaren.

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

Se även