2009-10-06 108 views
0

我需要保护我的WCF Web服务,并想到做到这一点的最佳方式是什么。它不是真正的角色/用户情况 - 更多的是“谁可以致电WEB服务”。推荐使用IP保护Web服务(WCF)的方法?

我在想我可以使用IP?这是推荐的方式吗?

任何人都有这方面的经验,我正在考虑有一个表(SQL)与所有可以访问Web服务的IP,但我不想重新发明轮子,如果已经存在的东西。

我认为有一个事件或类似的时候有人访问Web服务,所以我可以检查那里的IP? - 有人有个例子吗?

我想这可以用标准的HTTP绑定来完成?

我将不胜感激任何输入任何人有

+0

这实际上取决于您的服务对象是谁可以/不可以访问的标准,您打算如何管理它,以及您是否必须处理可能具有动态IP地址的人(又称为家庭用户) 。 – Artelius 2009-10-06 09:09:49

+0

不,它不会是家庭用户即。动态Ips ...它是直接客户与专用服务器,需要呼叫,因此IP将永远是相同的。 – 2009-10-06 15:09:12

+0

@mark:知识产权将是相同的 - 直到它发生变化。例如,网络人员可能会决定更改子网范围。依靠IP地址进行授权决定是一种糟糕的做法。 – 2009-10-07 04:47:02

回答

3

使用服务行为可以很容易地限制主叫IP在你的服务。

有一个很好的CodeProject article包括显示如何做到这一点的源代码。由于它是WCF和WCF行为,因此它也是可插入的 - 您可以根据需要将其从服务中添加或删除。

Marc

1

真的取决于服务的安全级别。 IP地址本身很容易被知识渊博的来电者欺骗,所以如果它是一个处理敏感信息的服务,我会推荐一些难以破解的东西,比如带有客户端证书的传输安全(如SSL)。很好的WCF支持,并不像你想象的那样可怕或昂贵,特别是如果你同时控制客户端和服务器(这样你可以配置客户端忽略证书的“信任”状态,所以你不必购买商业服务器证书)。