【发布时间】:2012-01-03 14:10:58
【问题描述】:
我对 WCF 服务器身份验证有点迷茫...
我正在编写一个可供多个客户端访问的 WCF 服务。 我想确保客户端应用程序始终连接到此服务,而不是某些实现相同 ServiceContracts 的恶作剧版本。
重要提示:该服务在客户的服务器上运行,并且会像某种授权服务一样,只允许 X 数量的客户端(在其他机器上)同时运行。因此,我不希望这个服务被一个总是允许所有客户端同时运行的副本绕过。
据我在互联网上找到的,所有解决方案都建议使用服务器证书作为 WCF 服务标识。但是,这将如何阻止某人仍然使用相同的证书在同一台机器上实施欺诈服务呢?
服务将在客户的服务器上运行,因此他们能够在其上运行服务。该服务将像某种授权服务一样,只允许 X 数量的客户端(在其他机器上)同时运行。因此,我不希望这个服务被一个总是允许所有客户端同时运行的副本绕过。
我是否在这里遗漏了什么(我觉得我是)?
【问题讨论】:
-
您是说其他不应访问您的服务器的人能够在其上运行服务吗?具体来说,您要防止什么?
-
如何在同一个盒子上部署服务?这不是第一个要回答的问题吗?
-
嗨,亚当,该服务将在客户的服务器上运行,因此他们能够在其上运行服务。该服务将像某种授权服务一样,只允许 X 数量的客户端(在其他机器上)同时运行。因此,我不希望这个服务被一个总是允许所有客户端同时运行的副本绕过。
-
@KevinMeiresonne:你不能依赖客户端机器上运行的东西来强制执行。您需要一个外部 Web 服务来连接您的服务来执行此类验证。
-
这使得这是一个完全不同的问题,请使用此信息更新它。
标签: .net wcf authentication wcf-security x509certificate