У меня есть служба WCF, которая должна получать учетные данные клиента и поддерживать какие-то данные на основе ролей на основе моего метода аутентификации.
Клиенты будут находиться на разных системах, и поэтому каждый клиент будет иметь уникальный идентификатор пользователя и pw.
Я использую basicHttpBinding и прочитал несколько статей, таких как эта,
http://nirajrules.wordpress.com/2009/05/22/username-over-https-custombinding-with-wcf%E2%80%99s-channelfactory-interface/,, которые описывают процесс.
Итак, что я ищу, так это если кто-то настроил полный клиент / сервер, чтобы посмотреть, чтобы я мог вывести свое собственное решение из этого.
Я хотел бы, чтобы имя пользователя и пароль передавались в заголовках для каждого запроса, возвращая некоторую исключительную ситуацию SecurityTokenValidationException при сбое или продолжая работу при передаче.
Спасибо.
UPDATE
Я использую привязку wsHttp со следующей конфигурацией как на клиенте, так и на сервере:
<wsHttpBinding>
<binding name="wsHttpEndpointBinding" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Basic" />
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
И вызов к серверу с клиента следующим образом:
ServiceReference1.ServiceClient myClient = new ServiceReference1.ServiceClient();
myClient.ClientCredentials.UserName.UserName = "billuser";
myClient.ClientCredentials.UserName.Password = "mypassword";
Response.Write("Data from WCF Service: " + myClient.GetData(1));
Я думаю, что мне нужно немного помочь со связью CustomUsernamePasswordValidator на сервере, так как я все еще получаю «... не удалось активировать». ошибка.