CF应用程序使用的WCF



我有一个需要由Coldfusion应用程序使用的WCF web服务。这不是真正的问题。问题是该服务在IIS下以特定用户运行。当目标应用程序调用服务时,我怎么知道特定应用程序正在调用服务,而不是幽灵应用程序。

例如:

应用程序x正在调用服务y,应该没有问题。另外,应用程序z正在调用服务y,不应该允许它这样做。

根据@Justin回复中的评论,CF客户端似乎只能支持WS-I基本配置文件。这使用内置的HTTP基本身份验证机制。本文解释了如何为这种身份验证模式配置WCF服务。

本文解释了如何配置IIS以实际支持HTTP基本身份验证。如果将IIS主机机器设置为具有与提交给服务的用户名和密码匹配的本地机器(首选)或域Windows帐户,则可以跳过创建自定义身份验证器。否则,您编写的自定义验证器将确定谁被授权调用您的服务。

回应评论问题:如果您没有像第二篇文章那样配置IIS,那么您将获得匿名的服务用户

听起来你需要为你的WCF服务设置某种身份验证:

使用消息安全性的安全消息

简而言之,您将向授权的应用程序提供令牌或用户名/密码,然后他们将该信息与他们的请求一起传递给您。然后,您可以验证调用应用程序是否被授权使用您的服务。

如果您谈论的是WCF服务的安全性,那么答案将是应用安全层。例如,您可以执行基本的安全性,其中每个授权的应用程序使用用户名和密码来访问服务。但是,如果您需要类似于Active Directory身份验证的功能,则需要使用更复杂的身份验证设置。一种方法是使用WIF (http://msdn.microsoft.com/en-us/magazine/ee335707.aspx)。有一些很好的例子可以说明如何实现这一点,以允许更安全的WCF应用程序。

最新更新