Share via


MessageSecurityOverHttpElement.NegotiateServiceCredential 属性

定义

获取或设置一个布尔值,该布尔值指定是在客户端带外设置服务凭据,还是通过协商过程由客户端从服务获取服务凭据。

public:
 property bool NegotiateServiceCredential { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("negotiateServiceCredential", DefaultValue=true)]
public bool NegotiateServiceCredential { get; set; }
[<System.Configuration.ConfigurationProperty("negotiateServiceCredential", DefaultValue=true)>]
member this.NegotiateServiceCredential : bool with get, set
Public Property NegotiateServiceCredential As Boolean

属性值

如果在客户端带外设置服务凭据,则为 true;否则为 false

属性

注解

此属性指定是在客户端带外设置服务凭据,还是通过协商过程由客户端从服务获取服务凭据。 这种协商是正常消息交换的前提。

如果 ClientCredentialType 属性等于 Anonymous、UserNameCertificate,则将此属性设置为 false 意味着服务证书可在客户端带外得到,并且客户端必须指定 ServiceCertificate 类的 ServiceCredentialsElement 属性。 此模式可与实现 WS-Trust 和 WS-SecureConversation 的 SOAP 堆栈交互操作。

如果 ClientCredentialType 属性等于 Windows,则将此属性设置为 false 会引起基于 Kerberos 的身份验证。 这要求客户端和服务都是 Kerberos 域的一部分。 此模式可与实现 Kerberos 令牌配置文件(如 OASIS WSS TC 中所定义)以及 WS-Trust 和 WS-SecureConversation 的 SOAP 堆栈交互操作。

当此属性为 true 时,会引起通过 SOAP 消息进行 SPNego 交换的 .NET SOAP 协商。

此属性指示是否在客户端和服务之间自动协商服务凭据。 如果此属性为 true,则会进行此类协商。 如果此属性为 false,则在与服务进行通信之前,必须在客户端指定服务凭据。

如果将此属性设置为 false,并且将绑定配置为使用 Windows 作为客户端凭据类型,则必须将服务帐户与服务主体名称 (SPN) 相关联。 为此,请在 NETWORK SERVICE 帐户或 LOCAL SYSTEM 帐户下运行服务。 也可以使用 SetSpn.exe 工具为服务帐户创建一个 SPN。 不论何种情况,客户端都必须在 <servicePrincipalName> 元素中使用正确的 SPN,或者通过使用 EndpointAddress 构造函数来应用正确的 SPN。 有关详细信息,请参阅服务标识和身份验证

适用于