Проблема в том, что всякий раз, когда я прохожу через System.Net.NetworkCredential к службе, кажется, что оно теряет поле пароля, и поэтому я никогда не могу пройти аутентификацию во внешней службе. Я протестировал просто передачу простого текста/строк в качестве пользователя/пароля, и это работает, но мне кажется, что это не очень хорошо с точки зрения безопасности (хотя у меня включен HTTPS для всего трафика между двумя службами).
Есть ли способ правильно передать эти учетные данные в службу?
Вот небольшой тестовый код для службы WCF:
Код: Выделить всё
public string TestCred(System.Net.NetworkCredential c, string username, string pass)
{
cred = c;
userName = username;
passWord = pass;
string s = cred.UserName + cred.Password + "end";
return s;
}
Вот код, который я использую в службе WCF для связи с внешней службой:
Код: Выделить всё
externalService.Credentials = new System.Net.NetworkCredential(cred.UserName, cred.Password, "domain");
Код: Выделить всё
externalService.Credentials = cred;
Когда я использую простые строки, это работает отлично:
Код: Выделить всё
externalService.Credentials = new System.Net.NetworkCredential(userName, passWord, "domain");