Delen via


Procedure: Een lokale verlener configureren

In dit onderwerp wordt beschreven hoe u een client configureert voor het gebruik van een lokale verlener voor uitgegeven tokens.

Wanneer een client communiceert met een federatieve service, geeft de service vaak het adres op van de beveiligingstokenservice die naar verwachting het token uitgeeft dat de client gebruikt om zichzelf te verifiëren bij de federatieve service. In bepaalde situaties kan de client worden geconfigureerd voor het gebruik van een lokale verlener.

Windows Communication Foundation (WCF) gebruikt een lokale verlener in gevallen waarin het adres van de uitgever van een federatieve binding of http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous null. In dergelijke gevallen moet u het ClientCredentials met het adres van de lokale verlener en de binding configureren die moet worden gebruikt om met die verlener te communiceren.

Notitie

Als de SupportInteractive eigenschap van de ClientCredentials klasse is ingesteld optrue, wordt er geen lokaal verleneradres opgegeven en wordt het verleneradres dat is opgegeven door de< wsFederationHttpBinding> of andere federatieve binding, http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/selfhttp://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymousof is, of isnull, wordt de Uitgever van Windows CardSpace gebruikt.

De lokale verlener in code configureren

  1. Een variabele van het type maken IssuedTokenClientCredential

  2. Stel de variabele in op het exemplaar dat wordt geretourneerd vanuit de IssuedToken eigenschap van de ClientCredentials klasse. Dit exemplaar wordt geretourneerd door de eigenschap van de ClientCredentials client (overgenomen van ClientBase<TChannel>) of de Credentials eigenschap van de ChannelFactory:

    IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
    
    Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
    
  3. Stel de LocalIssuerAddress eigenschap in op een nieuw exemplaar van de EndpointAddresseigenschap, met het adres van de lokale verlener als argument voor de constructor.

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

    U kunt ook een nieuw Uri exemplaar maken als argument voor de constructor.

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

    De addressHeaders parameter is een matrix van AddressHeader exemplaren, zoals wordt weergegeven.

    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. Stel de binding in voor de lokale verlener met behulp van de LocalIssuerBinding eigenschap.

    itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
    
    itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
    
  5. Optioneel. Voeg geconfigureerd eindpuntgedrag toe voor de lokale verlener door dergelijke gedragingen toe te voegen aan de verzameling die door de LocalIssuerChannelBehaviors eigenschap wordt geretourneerd.

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

De lokale verlener configureren in de configuratie

  1. Maak een localIssuer-element> als een onderliggend element van het< afgegevenToken-element> dat zelf een onderliggend element is van het <clientCredentials-element> in een eindpuntgedrag.<

  2. Stel het address kenmerk in op het adres van de lokale verlener die tokenaanvragen accepteert.

  3. Stel de binding en bindingConfiguration kenmerken in op waarden die verwijzen naar de juiste binding die moet worden gebruikt bij het communiceren met het lokale verlener-eindpunt.

  4. Optioneel. Stel het <identiteitselement> in als een onderliggend <localIssuer> element en geef identiteitsgegevens op voor de lokale verlener.

  5. Optioneel. Stel het <headers-element> in als een onderliggend element van het <localIssuer> element en geef extra headers op die vereist zijn om de lokale verlener correct te adresseren.

.NET Framework-beveiliging

Houd er rekening mee dat als een verleneradres en binding zijn opgegeven voor een bepaalde binding, de lokale verlener niet wordt gebruikt voor eindpunten die die binding gebruiken. Clients die verwachten altijd de lokale verlener te gebruiken, moeten ervoor zorgen dat ze geen dergelijke binding gebruiken of dat ze de binding wijzigen zodat het adres van de uitgever is null.

Zie ook