Аутентифицировать службу WCF, размещенную в IIS, на клиенте PHP Soap? - PullRequest
1 голос
/ 02 июня 2011

У меня есть служба 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, я хочу аутентификацию через службу, специально обработанную пользовательским средством проверки имени пользователя и пароля.

...