Googleを検索しましたが、これに対する明確な解決策が見つからないようです...
システムの特定のユーザーからのリクエストを処理するために、PHPSOAPサーバーを実装しています。
SOAP関数に送信されるuser/pass引数を介したすべての要求中に接続ユーザーを認証するだけでなく、サービスへの単なる接続を何らかの方法で認証するためにも必要です。
関数レベルの認証の実装は簡単でした。システム内の関数の最初の2つの引数はuserとpassであり、認識されないuser/passの組み合わせが渡された場合はエラーコードを返します。注意が必要なのは接続認証です。
「ユーザー名」と「パスワード」を含むオプション配列を使用してSOAPクライアントをインスタンス化すると、接続しているクライアントとの接続レベルで認証できる実装を見てきましたが、サーバーを見つけることができませんでした。 -このタイプの認証を処理するサイドコード。
これを、handle()のクライアント要求を処理するPHP SoapServerクラスに実装するには、何をする必要がありますか?
解決済み:BASIC認証が有効になっている.htaccessファイルを使用して、目的の機能を実装できたようです...
クライアントに渡されたログイン/パスワードはサーバーに送信され、PHP_AUTH_USERおよびPHP_AUTH_PWとしてphp$_SERVER配列に配置されます。PHPは、これらの値を.htaccessファイルで定義されたpasswdファイルと照合し、Webページで表示すると、汎用ユーザー/パスボックスをポップアップします。その結果、認証が失敗した場合は401 Unauthorizedになり、それ以外の場合は許可されます...SOAP経由クライアント、「ログイン」と「パスワード」のオプションを使用してユーザーパスインを渡すと、代わりにこの認証部分がクライアントで処理されます。