我找了如下的情景一些建筑理念服务访问:允许特定的客户端版本
环境: 我有做几件功能服务(WCF在窗口服务托管)。我提供客户端库(.NET Windows dll),它提供了访问此服务的API,并且还具有其他客户端功能。
问题: 基于商业原因,我需要寻找该服务的机制,只允许客户端的 特定版本访问某些功能(访问某些API的),不要让其他版本的Access的客户。基本上来说,我期望教育该服务信任来自1个特定客户端版本的所有请求,并且只是通过任何其他版本的客户端支持基本操作。
请注意:不能有添加到此任何用户的权限管理或用户secuirty方面,因为我只希望允许或拒绝对客户端软件,并没有真正做到与用户的特定版本的访问。
例如:从版本X客户端,我需要允许所有读取和保存功能。但从任何其他版本,我只能允许所有的READ,但不允许任何SAVE。
可能的解决方案: 到目前为止,我已经想添加一个配置,以版本号,给客户并将它传递给所有来自客户端的服务请求。该服务可以知道要从数据库或Web配置完全信任的版本。在服务中,我可以拦截该通道并查看是否从客户端消息中获得了此特定字符串,因此支持\拒绝访问特定的API。
对于这种情况,或者如果有人做了任何相关的任何其他优雅灵感,这也会有所帮助。
感谢