セキュリティ モード (トランスポートまたはメッセージ) を設定した後、クライアント資格情報の種類を設定できます。 このプロパティは、認証のためにクライアントがサービスに提供する必要がある資格情報の種類を指定します。 セキュリティ モードの設定 (クライアント資格情報の種類を設定する前に必要な手順) の詳細については、「 方法: セキュリティ モードを設定する」を参照してください。
コードでクライアント資格情報の種類を設定するには
サービスが使用するバインディングのインスタンスを作成します。 この例では、 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>