У меня есть служба WCF, настроенная для использования базовой аутентификации по протоколу https:
<basicHttpBinding>
<binding name="secureTransport">
<security mode ="Transport">
<transport clientCredentialType="Basic"/>
</security>
</binding>
</basicHttpBinding>
Я также указал пользовательский валидатор имени пользователя и пароля. Когда я вызываю этот сервис из консольного приложения, все работает как положено. Однако, когда я вызываю этот сервис из Silverlight 3, я получаю всплывающее окно входа в систему. В обоих случаях код одинаков и выглядит следующим образом:
SecureRemoteBox.Service1Client client = new SecureRemoteBox.Service1Client();
client.ClientCredentials.UserName.UserName = "test";
client.ClientCredentials.UserName.Password = "pass";
Конфигурация безопасности клиента для консольного приложения
<security mode="Transport">
<transport clientCredentialType="Basic" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
Конфигурация безопасности клиента для приложения SL3:
<security mode="Transport" />
Я также пробовал «TransportWithMessageCredential», но с той же проблемой.
Что я делаю не так? Спасибо.