我有一个Web服务,里面有一堆方法,我希望能够在某种程度上加以保护。
虽然数据并不是非常机密,但我仍希望只允许使用存储在Web服务Web.config文件中的特定用户ID和密码的人员访问。每天或每周,一个C# Windows服务客户端将调用该Web服务。
有没有人可以提供一个简单的示例,说明我如何做到这一点?提前感谢。
我有一个Web服务,里面有一堆方法,我希望能够在某种程度上加以保护。
虽然数据并不是非常机密,但我仍希望只允许使用存储在Web服务Web.config文件中的特定用户ID和密码的人员访问。每天或每周,一个C# Windows服务客户端将调用该Web服务。
有没有人可以提供一个简单的示例,说明我如何做到这一点?提前感谢。
<system.web>
<webServices>
<protocols>
<remove name="Documentation" />
</protocols>
</webServices>
</system.web>
WebRef.Url = "url";
WebRef.Credentials = new System.Net.NetworkCredential("userid", "password");
此外,您可能需要了解WebRef.PreAuthenticate以节省一些往返。但是请注意,如果您在公司代理后面,测试这个功能可能会有些麻烦。WebRef通过代理使用。
WebRef.Proxy = new WebProxy("url");
WebRef.Proxy.Credentials = new System.Net.NetworkCredential("userid", "password");
有三种常见的即席SOAP安全方法:
在这三种方法中,我推荐使用第一种方法,它不需要服务器维护状态,但由于缓存而可以同样快速。