Как указывать тип учетных данных клиента
После установки режима безопасности (на уровне транспорта или сообщений) можно установить тип учетных данных клиента. Это свойство определяет тип учетных данных, которые клиент должен предоставить службе для проверки подлинности. Дополнительные сведения задании режима безопасности (обязательный шаг перед установкой типа учетных данных клиента) см. в разделе Как задать режим безопасности.
Установка типа учетных данных клиента в коде
Создайте экземпляр привязки, который будет использовать служба. В этом примере используется привязка WSHttpBinding.
Присвойте соответствующее значение свойству Mode. В этом примере используется режим Message.
Присвойте соответствующее значение свойству ClientCredentialType. В этом примере используется проверка подлинности Windows (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
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;
Установка типа учетных данных клиента в файле конфигурации
Добавьте в файл конфигурации элемент <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>