为了便于论证,假设我有一个 basicHttp WCF 服务。除了实现身份验证(登录/注销方法)之外,还有什么能阻止某人破解打开 Visual Studio、向我的网站服务添加 Web 引用,然后玩弄我的服务?我不熟悉阻止某人这样做的方法。有人下载我所有的数据/运营契约(Contract)然后开始玩的想法让我夜不能寐,我喜欢我的 sleep !
最佳答案
可发现性是 Web 服务,尤其是 SOA 背后的驱动因素。任何能够访问该服务以提取 WSDL、在 Visual Studio(或某些其他工具)中生成代理并开始使用该服务的人的能力是创建 Web 服务的主要原因之一!
我想您可以生成所有客户端代理,然后禁用 mex 端点,但这几乎削弱了 WCF,即便如此,它也只是通过默默无闻来确保安全性。
如果您不希望任何不法分子开始攻击您的 Web 服务,那么要么不要使用 basicHttpBinding
(专为即时和匿名消费的明确目的而设计)或将服务托管在只有受信任的客户端才能访问的专用网络上。
关于wcf - WCF 端点的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459792/