0

我有一个 ASP.NET (1.1) Web 服务,它使用 SoapExtension.ProcessMessage(SoapMessage) 覆盖对客户端进行身份验证,如下所述:

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

但是,如果 web.config 没有设置为 HttpSoap 是唯一允许的协议,那么 ProcessMessage 将永远不会被其他协议上的请求调用,因此会绕过安全性。

无论如何以编程方式确保正在使用 SOAP(而不是依赖 web.config 是正确的)?

谢谢。

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 回答