Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De door het systeem geleverde bindingen die zijn opgenomen in WCF (Windows Communication Foundation) bieden een snelle manier om WCF-toepassingen te programmeren. Met één uitzondering hebben alle bindingen een standaardbeveiligingsschema ingeschakeld. Dit onderwerp helpt u bij het selecteren van de juiste binding voor uw beveiligingsbehoeften.
Zie Beveiligingsoverzicht voor een overzicht van WCF-beveiliging. Zie WcF-beveiliging programmeren voor meer informatie over het programmeren van WCF met behulp van bindingen.
Als u al een binding hebt geselecteerd, kunt u meer informatie vinden over het runtimegedrag dat is gekoppeld aan beveiliging in beveiligingsgedrag.
Sommige beveiligingsfuncties zijn niet programmeerbaar met behulp van de door het systeem geleverde bindingen. Zie Beveiligingsmogelijkheden met aangepaste bindingen voor meer controle over het gebruik van aangepaste bindingen.
Beveiligingsfuncties van bindingen
WCF bevat een aantal door het systeem geleverde bindingen die voldoen aan de meeste behoeften. Als een bepaalde binding niet voldoende is, kunt u ook een aangepaste binding maken. Zie System-Provided Bindingen voor een lijst met systeemgeleverde bindingen. Zie Aangepaste bindingen voor meer informatie over aangepaste bindingen.
Elke binding in WCF heeft twee formulieren: als API en als EEN XML-element dat wordt gebruikt in een configuratiebestand. Bijvoorbeeld, de WSHttpBinding (API) heeft een tegenhanger in <wsHttpBinding>.
De volgende sectie bevat beide formulieren voor elke binding en geeft een overzicht van de beveiligingsfuncties.
BasicHttp
Gebruik in code de BasicHttpBinding klasse; gebruik in de configuratie de <basicHttpBinding>.
Deze binding is ontworpen voor gebruik met een reeks bestaande technologieën, waaronder de volgende:
ASP.NET Web Services (ASMX), versie 1.
WSE-toepassingen (Web Service Enhancements).
Basisprofiel zoals gedefinieerd in de Web Services Interoperability-specificatie (WS-I) (https://go.microsoft.com/fwlink/?LinkId=38955).
Basisbeveiligingsprofiel zoals gedefinieerd in WS-I.
Deze binding is standaard niet beveiligd. Het is ontworpen om te samenwerken met ASMX-services. Wanneer beveiliging is ingeschakeld, is de binding ontworpen voor naadloze interoperation met IIS-beveiligingsmechanismen (Internet Information Services), zoals basisverificatie, digest en geïntegreerde Windows-beveiliging. Zie Transport Security Overview voor meer informatie. Deze binding ondersteunt het volgende:
HTTPS-transportbeveiliging.
HTTP-basisverificatie.
WS-Security.
Zie , BasicHttpSecurity, en BasicHttpMessageSecurityBasicHttpMessageCredentialTypevoor meer informatie BasicHttpSecurityMode.
WSHttpBinding
Gebruik in code de WSHttpBinding klasse; gebruik in de configuratie de <wsHttpBinding>.
Deze binding implementeert standaard de WS-Security specificatie en biedt interoperabiliteit met services die de WS-* specificaties implementeren. Het ondersteunt het volgende:
HTTPS-transportbeveiliging.
WS-Security.
HTTPS-transportbeveiliging met SOAP-berichtreferentiebeveiliging voor verificatie van de beller.
Zie voor meer informatie, zie , , , , , WSHttpSecurity, , en MessageSecurityOverHttpMessageCredentialType. SecurityModeHttpTransportSecurityHttpClientCredentialTypeHttpProxyCredentialType
WSDualHttpBinding
Gebruik in code de WSDualHttpBinding klasse; gebruik in de configuratie de <wsDualHttpBinding>.
Deze binding is ontworpen om duplex servicetoepassingen in te schakelen. Met deze binding wordt de WS-Security specificatie geïmplementeerd voor op berichten gebaseerde overdrachtsbeveiliging. Transportbeveiliging is niet beschikbaar. Standaard biedt het de volgende functies:
Implementeert WS-Reliable Messaging voor betrouwbaarheid.
Implementeert WS-Security voor overdrachtbeveiliging en -verificatie.
Maakt gebruik van HTTP voor berichtbezorging.
Maakt gebruik van tekst-/XML-berichtcodering.
Met behulp van WS-Security (berichtlaagbeveiliging) kunt u met de binding de volgende parameters configureren:
De suite met beveiligingsalgoritmen om het cryptografische algoritme te bepalen.
Bindingsopties voor het volgende:
Het verstrekken van servicegegevens die buiten de band beschikbaar zijn bij de client.
Het verstrekken van servicegegevens die door de service zijn onderhandeld als onderdeel van de kanaalinstelling.
Zie voor meer informatie WSDualHttpSecurity en WSDualHttpSecurityMode.
NetTcpBinding
Gebruik in code de NetTcpBinding klasse; in de configuratie gebruikt u netTcpBinding<>.
Deze binding is geoptimaliseerd voor communicatie tussen machines. Deze heeft standaard de volgende kenmerken:
Implementeert transportlaagbeveiliging.
Maakt gebruik van Windows-beveiliging voor overdrachtbeveiliging en -verificatie.
Maakt gebruik van TCP voor transport.
Implementeert binaire berichtcodering.
Implementeert WS-Reliable Messaging.
De volgende opties zijn:
Beveiliging van berichtlagen (gebruikmakend van WS-Security).
Transportbeveiliging met berichtreferenties: vertrouwelijkheid en integriteit die wordt geleverd door Transport Layer Security (TLS) via TCP en referenties voor autorisatie van WS-Security.
Zie , , , NetTcpSecurity, en TcpTransportSecurityTcpClientCredentialTypevoor meer informatie MessageSecurityOverTcp. MessageCredentialType
NetNamedPipeBinding
Gebruik in code de NetNamedPipeBinding klasse; gebruik in de configuratie de <netNamedPipeBinding>.
Deze binding is geoptimaliseerd voor communicatie tussen processen (meestal op dezelfde computer). Deze binding heeft standaard de volgende kenmerken:
Maakt gebruik van transportbeveiliging voor berichtoverdracht en verificatie.
Maakt gebruik van benoemde pijpen voor berichtbezorging.
Implementeert binaire berichtcodering.
Versleuteling en berichtondertekening.
De volgende opties zijn:
- Verificatie met windows-beveiliging.
Zie , NetNamedPipeSecurityen NetNamedPipeSecurityModevoor meer informatie NamedPipeTransportSecurity.
MsmqIntegrationBinding
Gebruik in de code de MsmqIntegrationBinding klasse; gebruik in de configuratie de <msmqIntegrationBinding>.
Deze binding is geoptimaliseerd voor het maken van WCF-clients en -services die samenwerken met niet-WCF Microsoft Message Queuing-eindpunten (MSMQ).
Deze binding maakt standaard gebruik van transportbeveiliging en biedt de volgende beveiligingskenmerken:
Beveiliging kan worden uitgeschakeld (Geen).
MSMQ-transportbeveiliging (Transport).
Zie voor meer informatie NetMsmqSecurity en NetMsmqSecurityMode.
NetMsmqBinding
Gebruik in de code de klasse NetMsmqBinding; gebruik in de configuratie de <netMsmqBinding>.
Deze binding is bedoeld voor gebruik bij het maken van WCF-services waarvoor MSMQ-berichtondersteuning in de wachtrij is vereist.
Deze binding maakt standaard gebruik van transportbeveiliging en biedt de volgende beveiligingskenmerken:
Beveiliging kan worden uitgeschakeld (Geen).
MSMQ-transportbeveiliging (Transport).
Berichtbeveiliging op basis van SOAP (Message).
Gelijktijdige transport- en berichtbeveiliging (beide).
Ondersteunde clientreferentietypen: Geen, Windows, Gebruikersnaam, Certificaat, IssuedToken.
De Certificate referentie wordt alleen ondersteund wanneer de beveiligingsmodus is ingesteld op één van beide, Both of Message.
Zie voor meer informatie MessageSecurityOverMsmq en MsmqTransportSecurity.
WSFederationHttpBinding
Gebruik in code de WSFederationHttpBinding klasse; gebruik in de configuratie de <wsFederationHttpBinding>.
Deze binding maakt standaard gebruik van WS-Security (berichtlaagbeveiliging).
Zie Federatie, WSFederationHttpSecurityen WSFederationHttpSecurityModevoor meer informatie.
Aangepaste bindingen
Als geen van de door het systeem geleverde bindingen voldoet aan uw vereisten, kunt u een aangepaste binding maken met een aangepast beveiligingsbindingselement. Zie Beveiligingsmogelijkheden met aangepaste bindingen voor meer informatie.
Keuzes voor bindingen
De volgende tabel bevat een overzicht van de functies die worden aangeboden in de beveiligingsmodusinstelling, dat wil gezegd, de functies worden vermeld die beschikbaar zijn wanneer de beveiligingsmodus is ingesteld Transportop , Messageof TransportWithMessageCredential. Gebruik deze tabel om u te helpen bij het vinden van de beveiligingsfuncties die uw toepassing nodig heeft.
| Configuratie | Kenmerken |
|---|---|
| Vervoer | Serverauthenticatie Clientverificatie Punt-naar-punt-beveiliging Interoperabiliteit Hardwareversnelling Hoge doorvoersnelheid Firewall beveiligen Toepassingen met hoge latentie Herversleuteling over meerdere sprongen |
| Bericht | Serverauthenticatie Clientverificatie Beveiliging van begin tot eind Interoperabiliteit Uitgebreide claims Federatie Meervoudige verificatie Aangepaste tokens Notaris/tijdstempelservice Toepassingen met hoge latentie Persistentie van berichthandtekeningen |
| TransportMetBerichtReferentie | Serverauthenticatie Clientverificatie Punt-naar-punt-beveiliging Interoperabiliteit Hardwareversnelling Hoge doorvoersnelheid Uitgebreide clientclaims Federatie Meervoudige verificatie Aangepaste tokens Firewall beveiligen Toepassingen met hoge latentie Herversleuteling over meerdere sprongen |
De volgende tabel bevat de bindingen die ondersteuning bieden voor de verschillende modusinstellingen. Selecteer een binding in de tabel die u wilt gebruiken om uw service-eindpunt te maken.
| Verbindend | Ondersteuning voor transportmodus | Ondersteuning voor de berichtenmodus | Ondersteuning voor TransportWithMessageCredential |
|---|---|---|---|
BasicHttpBinding |
Ja | Ja | Ja |
WSHttpBinding |
Ja | Ja | Ja |
WSDualHttpBinding |
Nee. | Ja | Nee. |
NetTcpBinding |
Ja | Ja | Ja |
NetNamedPipeBinding |
Ja | Nee. | Nee. |
NetMsmqBinding |
Ja | Ja | Nee. |
MsmqIntegrationBinding |
Ja | Nee. | Nee. |
wsFederationHttpBinding |
Nee. | Ja | Ja |
Transportreferenties in bindingen
De volgende tabel bevat de clientreferentietypen die beschikbaar zijn bij gebruik van BasicHttpBinding of in de WSHttpBinding transportbeveiligingsmodus.
| Typologie | Beschrijving |
|---|---|
| Geen | Hiermee geeft u op dat de client geen referenties hoeft te presenteren. Dit vertaalt zich naar een anonieme client. |
| Eenvoudig | Basisverificatie. Zie RFC 2617 – HTTP-verificatie: Basis- en digest-verificatie, beschikbaar op https://go.microsoft.com/fwlink/?LinkId=84023. |
| Samenvatting | Digest-authenticatie. Zie RFC 2617 – HTTP-verificatie: Basis- en digest-verificatie, beschikbaar op https://go.microsoft.com/fwlink/?LinkId=84023. |
| NTLM | NT LAN Manager-authenticatie (NTLM). |
| Ramen | Windows-verificatie. |
| Certificaat | Verificatie uitgevoerd met behulp van een certificaat. |
| UitgegevenToken | Hiermee kan de service vereisen dat de client wordt geverifieerd met behulp van een token dat is uitgegeven door een beveiligingstokenservice of door CardSpace. Zie Federatie- en uitgegeven tokens voor meer informatie. |
Clientgegevens in bindings
De volgende tabel bevat de clientreferentietypen die beschikbaar zijn bij het gebruik van een binding in de berichtbeveiligingsmodus.
| Typologie | Beschrijving |
|---|---|
| Geen | Hiermee kan de service communiceren met anonieme clients. |
| Ramen | Hiermee kunnen SOAP-berichten worden uitgewisseld onder de geverifieerde context van een Windows-referentie. |
| Gebruikersnaam | Hiermee kan de service vereisen dat de client wordt geverifieerd met behulp van een gebruikersnaamreferentie. Wanneer de beveiligingsmodus is ingesteld TransportWithMessageCredentialop, biedt WCF geen ondersteuning voor het verzenden van een wachtwoordsamenvating of het afleiden van sleutels met behulp van een wachtwoord en het gebruik van dergelijke sleutels voor de beveiliging van de berichtenmodus. WCF vereist daarom dat het transport wordt beveiligd bij het gebruik van gebruikersnamen. |
| Certificaat | Hiermee kan de service vereisen dat de client wordt geverifieerd met behulp van een certificaat. |
| UitgegevenToken | Hiermee kan de service een securitytokenservice gebruiken om een aangepast token te leveren. |