VIP WCF,只有我的应用程序可以看到,但没有其他人可以看到任何参考

时间:2010-09-04 09:55:47

标签: .net asp.net wcf web-services security

我在服务器上创建了一个运行的WCF。

我构建了一个连接此URL的应用程序。这是一个可以在每台PC上运行的exe。 我想要的东西,只有这个应用程序可以看到这个WCF,并且可以使用它的实用程序,其他人什么也看不见,没有url,没有引用,没有web服务的wsdl。

如何创建此环境..?

2 个答案:

答案 0 :(得分:1)

在您使用WCF网络服务时,您可以从<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <system.serviceModel> <services>个元素中删除<service>个元素,以防止对元数据的请求得到尊重。

问题与你所追求的是:

  • 任何人都可以使用Fiddler之类的内容拦截您的网络服务请求并进行检查。您可以使用HTTPS来加强这一点
  • 任何人都可以反汇编代码,看看它在做什么,检索网址,看看您的网络服务公开的方法是什么。

答案 1 :(得分:0)

您正在寻找身份验证。只有拥有有效凭据的客户才能使用您的服务。这需要对服务配置和客户端代码进行一些更改。

通过修改服务配置来删除引用和WSDL:

  • 删除元数据端点,如Rob在回答中所述。
  • 删除serviceMetadata行为

通过修改其他服务行为

来删除默认服务页面
  • 在serviceDebug上,将httpHelpPageEnabled设置为false。