我有一个需要由Coldfusion应用程序使用的WCF Web服务。 这不是真正的问题。问题是该服务在IIS下与特定用户一起运行。如何判断目标应用程序何时调用特定应用程序正在调用服务而不是ghost应用程序的服务。
例如:
应用程序x正在调用服务y,它应该没问题。 应用程序z也在调用服务y,不应该允许这样做。
答案 0 :(得分:1)
基于@Justin答案中的评论,似乎CF客户端只能支持WS-I Basic Profile。这使用内置的HTTP Basic身份验证机制。 Here is an article,解释了如何为此身份验证模式配置WCF服务。
This article explains how you need to configure IIS实际上支持HTTP基本身份验证。如果将IIS主机设置为具有与提交给服务的用户名和密码匹配的本地计算机(首选)或域Windows帐户,则可以跳过创建自定义身份验证器。否则,您编写的自定义验证程序将确定谁有权调用您的服务。
回复评论问题:如果您没有像第二篇文章那样配置IIS,那么您将获得匿名作为服务的用户。
答案 1 :(得分:0)
听起来您需要为WCF服务设置某种身份验证:
Security Messages Using Message Security
长期以来,您需要向授权的应用程序提供令牌或用户名/密码,然后他们会将这些信息与他们的请求一起传递给您。然后,您可以验证调用应用程序是否有权使用您的服务。
答案 2 :(得分:0)
如果您正在讨论WCF服务的安全性,那么答案就是应用安全层。例如,您可以执行基本安全性,其中每个授权应用程序使用用户名和密码来访问服务。但是,如果您需要Active Directory身份验证之类的东西,则需要使用更复杂的身份验证设置。一种方法是使用WIF(http://msdn.microsoft.com/en-us/magazine/ee335707.aspx)。有一些很好的例子可以实现如何实现更安全的WCF应用程序。