2012-07-06 122 views
0

我找了如下的情景一些建筑理念服务访问:允许特定的客户端版本

环境: 我有做几件功能服务(WCF在窗口服务托管)。我提供客户端库(.NET Windows dll),它提供了访问此服务的API,并且还具有其他客户端功能。

问题: 基于商业原因,我需要寻找该服务的机制,只允许客户端的 特定版本访问某些功能(访问某些API的),不要让其他版本的Access的客户。基本上来说,我期望教育该服务信任来自1个特定客户端版本的所有请求,并且只是通过任何其他版本的客户端支持基本操作。

请注意:不能有添加到此任何用户的权限管理或用户secuirty方面,因为我只希望允许或拒绝对客户端软件,并没有真正做到与用户的特定版本的访问。

例如:从版本X客户端,我需要允许所有读取和保存功能。但从任何其他版本,我只能允许所有的READ,但不允许任何SAVE。

可能的解决方案: 到目前为止,我已经想添加一个配置,以版本号,给客户并将它传递给所有来自客户端的服务请求。该服务可以知道要从数据库或Web配置完全信任的版本。在服务中,我可以拦截该通道并查看是否从客户端消息中获得了此特定字符串,因此支持\拒绝访问特定的API。

对于这种情况,或者如果有人做了任何相关的任何其他优雅灵感,这也会有所帮助。

感谢

回答

0

你可以提供一个哈希的客户端旁边一个请求到服务将给予基于散列的客户端访问时提供客户端提供的?

就像你已经提到的那样,有很多方法可以给猫皮。

请问你为什么要让你的服务/客户端系统以这种方式运行?