0

次の説明に従って、SoapExtension.ProcessMessage(SoapMessage)オーバーライドを使用してクライアントを認証するASP.NET(1.1)Webサービスがあります。

http://www.codeguru.com/columns/experts/article.php/c5479

ただし、HttpSoapが許可されている唯一のプロトコルであるようにweb.configが設定されていない場合、ProcessMessageは他のプロトコルで着信する要求に対して呼び出されることはないため、セキュリティをバイパスします。

(web.configが正しいことに依存するのではなく)SOAPが使用されていることをプログラムで確認する方法はありますか?

ありがとう。

4

3 に答える 3

2

それが誰にとっても役立つ場合、私は最終的にチェックしました:

Request.ServerVariables["HTTP_SOAPAction"] != null

これは理想的ではありませんが、うまくいったようです。

于 2010-01-15T03:37:13.690 に答える
0

Request.ServerVariables特にSERVER_PROTOCOL変数を調べてください。

http://www.aspcode.net/List-of-RequestServerVariables.aspx

于 2009-04-23T17:21:26.340 に答える
0

起動時に web.config を読み取って解析し、希望どおりに設定されているかどうかを確認できます。

于 2009-04-27T10:22:44.923 に答える