Sdílet prostřednictvím


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/Anonymousnebo je null, pak se použije vystavitel Windows CardSpace.

Konfigurace místního vystavitele v kódu

  1. Vytvoření proměnné typu IssuedTokenClientCredential

  2. 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
    
  3. 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)
    
  4. Nastavte vazbu pro místního vystavitele pomocí LocalIssuerBinding vlastnosti.

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

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

  2. address Nastavte atribut na adresu místního vystavitele, který bude přijímat žádosti o tokeny.

  3. binding Nastavte hodnoty a bindingConfiguration atributy, které odkazují na příslušnou vazbu, která se má použít při komunikaci s koncovým bodem místního vystavitele.

  4. Nepovinné. <Nastavte element identity> jako podřízený <localIssuer> prvek elementu a zadejte informace o identitě pro místního vystavitele.

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

Viz také