MessageSecurityOverHttp.NegotiateServiceCredential プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービス資格情報がクライアントの帯域外で提供されるか、またはネゴシエーションのプロセスによってサービスからクライアントに取得されるかを示す値を取得または設定します。
public:
property bool NegotiateServiceCredential { bool get(); void set(bool value); };
public bool NegotiateServiceCredential { get; set; }
member this.NegotiateServiceCredential : bool with get, set
Public Property NegotiateServiceCredential As Boolean
プロパティ値
サービス資格情報がネゴシエーションのプロセスによって取得される場合は true
。それ以外の場合は false
。 既定値は、true
です。
例
次のコードでは、このプロパティにアクセスして設定する方法を示します。
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType =
MessageCredentialType.UserName;
binding.Security.Message.NegotiateServiceCredential = false;
CalculatorClient CalculatorClient = new CalculatorClient("myBinding");
CalculatorClient.ClientCredentials.ServiceCertificate.
SetDefaultCertificate("Al", StoreLocation.CurrentUser, StoreName.My);
Dim binding As New WSHttpBinding()
binding.Security.Mode = SecurityMode.Message
binding.Security.Message.ClientCredentialType = _
MessageCredentialType.UserName
binding.Security.Message.NegotiateServiceCredential = False
Dim CalculatorClient As New CalculatorClient("myBinding")
CalculatorClient.ClientCredentials.ServiceCertificate. _
SetDefaultCertificate("Al", StoreLocation.CurrentUser, StoreName.My)
注釈
このプロパティを true
に設定すると、クライアントとサービスに WS-Trust と WS-SecureConversation をサポートするように要求します。 このプロパティを false
に設定すると、WS-Trust と WS-SecureConversation のサポートは要求されません。
クライアント資格情報の種類の匿名、Usename、または Certificate で、このプロパティを false
に設定すると、サービス証明書をクライアントの帯域外で使用できるようにし、使用するサービスの証明書をクライアントが指定する必要があります。
Windows 資格情報では、このプロパティに false
を設定すると、KerberosToken
に基づく認証が行われます。 このためには、クライアントおよびサービスが Kerberos ドメインの一部であることが必要です。 このモードは、OASIS の Kerberos トークン プロファイルを実装する SOAP スタックと相互運用性があります。 このプロパティを true
に設定すると、SOAP メッセージを介して SPNego 交換をトンネル化する SOAP ネゴシエーションが行われます。 このモードは、相互運用可能ではありません。
このプロパティは、クライアントとサービスとの間で自動的にサービス資格情報のネゴシエーションが行われるかどうかを示します。 このプロパティが true
の場合、自動的にネゴシエーションが行われます。 このプロパティが false
の場合、サービスとの通信が行われる前にサービス資格情報を指定する必要があります。
このプロパティが false
に設定され、さらにバインディングがクライアント資格情報の種類として Windows を使用するように構成されている場合は、サービス アカウントをサービス プリンシパル名 (SPN) に関連付ける必要があります。 この関連付けを行うには、NETWORK SERVICE アカウントまたは LOCAL SYSTEM アカウントでサービスを実行します。 または、SetSpn.exe ツールを使用して、サービス アカウントの SPN を作成します。 どちらの場合にも、クライアントは <servicePrincipalName> 要素内で、または EndpointAddress コンストラクターを使用して、正しい SPN を使用する必要があります。 詳細については、「サービス ID と認証」を参照してください。
適用対象
.NET