Vorgehensweise: Konfigurieren eines lokalen AusstellersHow to: Configure a Local Issuer

In diesem Thema wird beschrieben, wie Sie einen Client für die Verwendung eines lokalen Ausstellers für ausgestellte Token konfigurieren.This topic describes how to configure a client to use a local issuer for issued tokens.

Wenn ein Client mit einem Verbunddienst kommuniziert, wird vom Dienst die Adresse des Sicherheitstokendiensts angegeben, der das Token ausgeben soll, das vom Client für die Authentifizierung am Verbunddienst verwendet werden soll.Often, when a client communicates with a federated service, the service specifies the address of the security token service that is expected to issue the token the client will use to authenticate itself to the federated service. In bestimmten Situationen kann der Client konfiguriert werden zum Verwenden einer lokalen Ausstellers.In certain situations, the client may be configured to use a local issuer.

Windows Communication Foundation (WCF) verwendet einen lokalen Aussteller in den Fällen, in denen die Ausstelleradresse einer verbundbindung http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous oder null.Windows Communication Foundation (WCF) uses a local issuer in cases where the issuer address of a federated binding is http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous or null. In diesem Fall müssen Sie ClientCredentials mit der Adresse des lokalen Ausstellers und der für die Kommunikation mit diesem Aussteller zu verwendenden Bindung konfigurieren.In such cases, you must configure the ClientCredentials with the address of the local issuer and the binding to use to communicate with that issuer.

Hinweis

Wenn die SupportInteractive Eigenschaft von der ClientCredentials -Klasse festgelegt, dass true, eine Adresse des lokalen Ausstellers nicht angegeben ist, und die Ausstelleradresse gemäß der <WsFederationHttpBinding > oder andere verbundbindung ist http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self, http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous, oder null, klicken Sie dann den Windows CardSpaceCardSpace Aussteller verwendet wird.If the SupportInteractive property of the ClientCredentials class is set to true, a local issuer address is not specified, and the issuer address specified by the <wsFederationHttpBinding> or other federated binding is http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self, http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous, or is null, then the Windows CardSpaceCardSpace issuer is used.

So konfigurieren Sie den lokalen Aussteller im CodeTo configure the local issuer in code

  1. Erstellen Sie eine Variable vom Typ IssuedTokenClientCredential.Create a variable of type IssuedTokenClientCredential

  2. Legen Sie die Variable der Instanz fest, die von der IssuedToken-Eigenschaft der ClientCredentials-Klasse zurückgegeben wird.Set the variable to the instance returned from the IssuedToken property of the ClientCredentials class. Diese Instanz wird von der ClientCredentials-Eigenschaft des Clients (geerbt von ClientBase<TChannel>) oder der Credentials-Eigenschaft der ChannelFactory zurückgegeben:That instance is returned by the ClientCredentials property of the client (inherited from ClientBase<TChannel>) or the Credentials property of the ChannelFactory:

    IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
    
    Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
    
  3. Legen Sie die LocalIssuerAddress-Eigenschaft auf eine neue Instanz der EndpointAddress fest, wobei die Adresse des lokalen Ausstellers als Argument für den Konstruktor verwendet wird.Set the LocalIssuerAddress property to a new instance of the EndpointAddress, with the address of the local issuer as an argument to the constructor.

    itcc.LocalIssuerAddress = new EndpointAddress("http://fabrikam.com/sts");
    
    itcc.LocalIssuerAddress = New EndpointAddress("http://fabrikam.com/sts")
    

    Sie können auch eine neue Uri-Instanz als Argument für den Konstruktor erstellen.Alternatively, create a new Uri instance as an argument to the constructor.

    itcc.LocalIssuerAddress = new EndpointAddress(new Uri("http://fabrikam.com/sts"),
        addressHeaders);
    
    itcc.LocalIssuerAddress = New EndpointAddress( _
    New Uri("http://fabrikam.com/sts"), addressHeaders)
    

    Die addressHeaders Parameter ist ein Array von AddressHeader -Instanzen bestehen, wie dargestellt.The addressHeaders parameter is an array of AddressHeader instances, as shown.

    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. Legen Sie die Bindung für den lokalen Aussteller mit der LocalIssuerBinding Eigenschaft.Set the binding for the local issuer using the LocalIssuerBinding property.

    itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
    
    itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
    
  5. Dies ist optional.Optional. Fügen Sie die konfigurierten Endpunktverhalten für den lokalen Aussteller hinzu, indem Sie solche Verhalten der Auflistung hinzufügen, die von der LocalIssuerChannelBehaviors-Eigenschaft zurückgegeben wird.Add configured endpoint behaviors for the local issuer by adding such behaviors to the collection returned by the LocalIssuerChannelBehaviors property.

    itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior);
    
    itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior)
    

So konfigurieren Sie den lokalen Aussteller in der KonfigurationTo configure the local issuer in configuration

  1. Erstellen einer <LocalIssuer > Element als untergeordnetes Element von der <IssuedToken > Element, das sich selbst untergeordnet ist die <ClientCredentials > Element in ein Endpunktverhalten.Create a <localIssuer> element as a child of the <issuedToken> element that is itself a child of the <clientCredentials> element in an endpoint behavior.

  2. Legen Sie das address-Attribut auf die Adresse des lokalen Ausstellers fest, der Tokenanforderungen annimmt.Set the address attribute to the address of the local issuer that will accept token requests.

  3. Legen Sie das binding-Attribut und das bindingConfiguration-Attribut auf Werte fest, mit denen die für die Kommunikation mit dem lokalen Ausstellerendpunkt geeignete Bindung referenziert wird.Set the binding and bindingConfiguration attributes to values that reference the appropriate binding to use when communicating with the local issuer endpoint.

  4. Dies ist optional.Optional. Legen Sie die <Identität > Element als untergeordnetes Element von der <localIssuer> Element, und geben Sie Identitätsinformationen für den lokalen Aussteller.Set the <identity> element as a child of the <localIssuer> element and specify identity information for the local issuer.

  5. Dies ist optional.Optional. Legen Sie die <Header > Element als untergeordnetes Element von der <localIssuer> Element, und geben Sie zusätzliche Header, die erforderlich sind, um zu den lokalen Aussteller ordnungsgemäß zu adressieren.Set the <headers> element as a child of the <localIssuer> element and specify additional headers that are required in order to correctly address the local issuer.

.NET Framework-Sicherheit.NET Framework Security

Beachten Sie, dass beim Angeben einer Ausstelleradresse und einer Ausstellerbindung für eine bestimmte Bindung nicht der lokale Aussteller für Endpunkte verwendet wird, die diese Bindung verwenden.Note that if an issuer address and binding are specified for a given binding, the local issuer is not used for endpoints that use that binding. Clients, die immer den lokalen Aussteller verwenden möchten, sollten sicherstellen, dass keine solche Bindung verwendet wird oder dass die Bindung so geändert wird, dass die Ausstelleradresse null lautet.Clients who expect to always use the local issuer should ensure that they do not use such a binding or that they modify the binding so that the issuer address is null.

Siehe auchSee Also

Vorgehensweise: Konfigurieren von Anmeldeinformationen für einen VerbunddienstHow to: Configure Credentials on a Federation Service
Vorgehensweise: Erstellen eines VerbundclientsHow to: Create a Federated Client
Vorgehensweise: Erstellen einer WSFederationHttpBindingHow to: Create a WSFederationHttpBinding