我们有一个3层应用程序 - 基于winform的胖客户端,在Windows服务和sql中托管的几个WCF服务。一些WCF服务提供客户端中特定于UI的功能,但是有一些服务正在运行以进行数据加载,处理,缓存等。因此,所有这些服务相互通信并且还服务于来自客户端的请求。
现在出现了实际问题:有没有办法了解请求是来自客户端还是来自其他服务。假设我编写了一个消息检查器,如果请求来自客户端(用户)或来自其他服务,我可以以某种方式解释。
我想要实现的目标 - 如果您需要,这是另一个主题。 stopping user requests to wcf services。但简单地说,我试图阻止用户访问服务,但服务应继续运行并可从其他服务访问。
答案 0 :(得分:2)
有没有办法了解a 请求来自客户或来自 另一项服务。假设我写了一个 消息检查员,我可以以某种方式 解释,如果请求即将到来 来自客户(用户)或来自 另一项服务。
这是一项身份验证和授权任务。您的客户将在客户端组中拥有帐户,您的服务将在“服务”组中拥有帐户。您可能还需要一些自定义ServiceAuthorizationManager
,它将检查是否允许客户端访问该服务并将其传入或抛出异常。