<basicHttpBinding> 的 <transport>
为 HTTP 传输定义控制身份验证参数的属性。
configuration
system.serviceModel
<bindings>
<basicHttpBinding>
<binding>
<security>
<transport>
语法
<basicHttpBinding>
<binding>
<security mode="None|Transport|Message|TransportWithMessageCredential|TransportCredentialOnly">
<transport clientCredentialType="None|Basic|Digest|Ntlm|Windows"
proxyCredentialType="None|Basic|Digest|Ntlm|Windows"
realm="String">
<extendedProtectionPolicy policyEnforcement="Never|WhenSupported|Always"
protectionScenario="TransportSelected|TrustedProxy">
<customServiceNames>
</customServiceNames>
</extendedProtectionPolicy>
</transport>
</security>
</binding>
</basicHttpBinding>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
clientCredentialType | - 指定要在使用 HTTP 身份验证执行客户端身份验证时使用的凭据类型。 默认值为 None 。 此属性的类型为 HttpClientCredentialType。 |
proxyCredentialType | - 指定通过 HTTP 使用代理在域中执行客户端身份验证时要使用的凭据类型。 只有当父 mode 元素的 security 属性为 Transport 或 TransportCredentialsOnly 时,此属性才适用。 此属性的类型为 HttpProxyCredentialType。 |
realm | 一个字符串,指定摘要式或基本身份验证的 HTTP 身份验证方案所使用的领域。 默认值为空字符串。 |
policyEnforcement | 此枚举指定应何时强制实施 ExtendedProtectionPolicy。 1. Never – 绝不强制实施此策略(禁用扩展保护)。 2. WhenSupported – 仅在客户端支持扩展保护时才强制实施此策略。 3. Always – 总是强制实施此策略。 不支持扩展保护的客户端将无法进行身份验证。 |
protectionScenario | 此枚举指定此策略强制实施的保护方案。 |
clientCredentialType 属性
值 | 说明 |
---|---|
无 | 在传输过程中不能保证消息的安全。 |
基本 | 指定基本身份验证。 |
摘要 | 指定摘要式身份验证。 |
Ntlm | 指定 NTLM 身份验证(如果可能且 Windows 身份验证失败)。 |
Windows | 指定 Windows 集成身份验证。 |
proxyCredentialType 属性
值 | 说明 |
---|---|
无 | - 在传输过程中不能保证消息的安全。 |
基本 | 指定“RFC 2617 – HTTP 身份验证:基本和摘要式身份验证”所定义的基本身份验证。 |
摘要 | 指定“RFC 2617 – HTTP 身份验证:基本和摘要式身份验证”所定义的摘要式身份验证。 |
Ntlm | 指定 NTLM 身份验证(如果可能且 Windows 身份验证失败)。 |
Windows | 指定 Windows 集成身份验证。 |
证书 | 使用证书执行客户端身份验证。 此选项只在父 Mode 元素的 security 属性设置为“Transport”时才起作用,如果该属性设置为“TransportCredentialOnly”,则此选项将不起作用。 |
子元素
无
父元素
元素 | 说明 |
---|---|
<security> | 定义 <basicHttpBinding> 的安全功能。 |
示例
下面的示例演示如何对基本绑定使用 SSL 传输安全。 默认情况下,基本绑定支持 HTTP 通信。
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<!-- Configure basicHttpBinding with Transport security -->
<!-- mode and clientCredentialType set to None. -->
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="None"
proxyCredentialType="None">
<extendedProtectionPolicy policyEnforcement="WhenSupported"
protectionScenario="TransportSelected">
<customServiceNames>
</customServiceNames>
</extendedProtectionPolicy>
</transport>
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>