区分来自客户端和其他服务的请求

时间:2011-07-04 16:04:31

标签: .net wcf wcf-extensions

我们有一个3层应用程序 - 基于winform的胖客户端,在Windows服务和sql中托管的几个WCF服务。一些WCF服务提供客户端中特定于UI的功能,但是有一些服务正在运行以进行数据加载,处理,缓存等。因此,所有这些服务相互通信并且还服务于来自客户端的请求。

现在出现了实际问题:有没有办法了解请求是来自客户端还是来自其他服务。假设我编写了一个消息检查器,如果请求来自客户端(用户)或来自其他服务,我可以以某种方式解释。

我想要实现的目标 - 如果您需要,这是另一个主题。 stopping user requests to wcf services。但简单地说,我试图阻止用户访问服务,但服务应继续运行并可从其他服务访问。

1 个答案:

答案 0 :(得分:2)

  

有没有办法了解a   请求来自客户或来自   另一项服务。假设我写了一个   消息检查员,我可以以某种方式   解释,如果请求即将到来   来自客户(用户)或来自   另一项服务。

这是一项身份验证和授权任务。您的客户将在客户端组中拥有帐户,您的服务将在“服务”组中拥有帐户。您可能还需要一些自定义ServiceAuthorizationManager,它将检查是否允许客户端访问该服务并将其传入或抛出异常。