C# 将WCF服务限制为特定用户帐户的最佳方法

C# 将WCF服务限制为特定用户帐户的最佳方法,c#,.net,wcf,C#,.net,Wcf,我将使用窗口服务/服务主机托管一个基本的HTTP WCF服务。 我想将服务限制为2个特定的Windows active directory用户,这些帐户在PRD和DEV环境中会有所不同,因此它们将在配置文件中设置 我想知道这样做的最佳方式是什么,我知道通常情况下,如果我使用IIS托管服务,那么我可以将其限制在Web.config中: 但是,因为我使用ServiceHost托管,所以我不认为这是一个选项 据我所知,在服务类级别使用PrincipalPermission声明性属性似乎可以做到这一点:

我将使用窗口服务/服务主机托管一个基本的HTTP WCF服务。 我想将服务限制为2个特定的Windows active directory用户,这些帐户在PRD和DEV环境中会有所不同,因此它们将在配置文件中设置

我想知道这样做的最佳方式是什么,我知道通常情况下,如果我使用IIS托管服务,那么我可以将其限制在Web.config中: 但是,因为我使用ServiceHost托管,所以我不认为这是一个选项

据我所知,在服务类级别使用PrincipalPermission声明性属性似乎可以做到这一点: 但是,我不太清楚这是否会传递Windows服务的窗口帐户或发出HTTP请求的帐户。我需要的是传递HTTP请求帐户。 另外,对于declarative属性,是否可以使用配置文件属性而不是硬编码属性


任何建议,如果您需要更多信息,请告诉我。

尝试使用基于角色的授权。

我发现以下文章适合我的需要,基本上它涉及使用行为的授权: