IIS7でホストされているwcfサービスがあります。このサービスにアクセスするために使用したいphpsoapクライアントがあります。セキュリティがなくても正常に動作しますが、ユーザー名とパスワードを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));
?>
これが私のwcfweb.configのbasicHttpBinding設定です。繰り返しますが、phpクライアントからwcfサービスにユーザー名/パスワードを取得するためにこれが正しいかどうかはわかりません。
<basicHttpBinding>
<binding name="Basic">
<security mode="TransportCredentialOnly">
</security>
</binding>
</basicHttpBinding>
clientCredentialType = "Basic"を指定すると、IISは基本認証を有効にするように要求しますが、IISを介した認証は必要ありません。サービスを介した認証が必要であり、特にカスタムユーザー名とパスワードバリデーターによって処理されます。