我希望仅允许对包含开发人员密钥的请求访问WCF服务。这类似于Google Maps API的工作原理。注册开发人员密钥并在请求中包含该密钥。
任何人都可以获得钥匙。如何获得密钥尚未确定,但正在讨论中。现在,我们会通过电子邮件向您发送密钥。
该服务已启动并正在运行,因此我将添加此服务。我只需要知道我在寻找什么,这样我就可以弄清楚我需要做什么。有道理,对吧?!?!
这个方案叫什么?我应该搜索什么?任何建议的链接/书籍/白皮书?
答案 0 :(得分:0)
您通常会在每封邮件中发送此类内容作为标题。在WCF中执行此操作的最简单方法是创建一个消息检查器,它可以将密钥粘贴到每个传出请求的WCF消息的SOAP头中。
请参阅Pablo Pialorsi的精彩博文Writing a WCF Message Inspector,看看它是如何完成的。或者查看此CodeProject article,其中显示了如何自动将客户端的文化信息流向服务器。
在服务器端,您必须从SOAP标头中提取该API密钥(还有消息检查器的服务器端实现)并对某个存储库/存储进行验证,并允许调用继续,或者抛出一个SOAP错误“未经授权的访问”或回调给调用者。