У меня есть служба wcf, размещенная в IIS 7. У меня есть PHP-мыльный клиент, который я хочу использовать для доступа к этой службе. Он отлично работает без защиты, но я хочу иметь возможность передать имя пользователя и пароль от клиента php в службу wcf и пройти аутентификацию через мой пользовательский валидатор имени пользователя. Я не php-разработчик, поэтому я не знаю, как на самом деле отправить имя пользователя и пароль в службу, и пользовательский валидатор имени пользователя и пароля получает имя пользователя и пароль и проверяет его. Вот код для php-клиента:
<?php
header('Content-Type: text/plain');
// Create a new soap client based on the service's metadata (WSDL)
$client = new SoapClient('http://localhost:88/ColorService.svc?wsdl',array);
$obj = array("colorId" => 2405);
$retval = $client->__soapCall('GetColorInfo',array($obj));
?>
Вот базовая конфигурация HttpBinding в моем wcf web.config. Опять же, я не уверен, правильно ли это, чтобы получить имя пользователя / пароль от php-клиента в сервис wcf.
<basicHttpBinding>
<binding name="Basic">
<security mode="TransportCredentialOnly">
</security>
</binding>
</basicHttpBinding>
Обратите внимание, что если я поставлю clientCredentialType = "Basic", IIS хочет, чтобы я включил обычную аутентификацию, но я не хочу аутентификацию через IIS, я хочу аутентификацию через службу, специально обработанную пользовательским средством проверки имени пользователя и пароля.