方法: クライアントの資格情報の種類を指定する
セキュリティ モード (トランスポートまたはメッセージ) を設定してから、クライアント資格情報の種類を指定することができます。 このプロパティでは、クライアントが認証時にサービスに提供する必要のある資格情報の種類を指定します。 セキュリティ モードの設定 (クライアントの資格情報の種類を設定する前に必要な手順) の詳細については、「方法: セキュリティ モードを設定する」を参照してください。
コードでクライアント資格情報の種類を設定するには
サービスで使用されるバインドのインスタンスを作成します。 この例では、WSHttpBinding バインドを使用します。
Mode プロパティに適切な値を設定します。 この例では、メッセージ モードを使用します。
ClientCredentialType プロパティに適切な値を設定します。 この例では、Windows 認証 (Windows) を使用するように設定します。
ServiceHost myServiceHost = new ServiceHost(typeof(CalculatorService)); // Create a binding to use. WSHttpBinding binding = new WSHttpBinding(); binding.Security.Mode = SecurityMode.Message; binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
Dim myServiceHost As New ServiceHost(GetType(CalculatorService)) ' Create a binding to use. Dim binding As New WSHttpBinding() binding.Security.Mode = SecurityMode.Message binding.Security.Message.ClientCredentialType = _ MessageCredentialType.Windows
構成でクライアント資格情報の種類を設定するには
<system.serviceModel> 要素を構成ファイルに追加します。
子要素として、<bindings> 要素を追加します。
適切なバインドを追加します。 この例では、<wsHttpBinding> 要素を使用します。
<binding> 要素を追加し、
name
属性を適切な値に設定します。 この例では、"SecureBinding" という名前を使用します。<security>
バインドを追加します。mode
属性を適切な値に設定します。 この例では、"Message"
に設定します。セキュリティ モードによって、
<message>
要素と<transport>
要素のどちらかを追加します。clientCredentialType
属性を適切な値に設定します。 この例では、"Windows"
を使用します。<system.serviceModel> <bindings> <wsHttpBinding> <binding name="SecureBinding"> <security mode="Message"> <message clientCredentialType="Windows" /> </security> </binding> </wsHttpBinding> </bindings> </system.serviceModel>