如何限制使用WCF服务的用户

Nim*_*Nim 2 wcf wcf-security

我有一个必须由某个Active Directory用户调用的WCF服务.

如何将该WCF服务的允许呼叫者限制为特定的AD组?

mar*_*c_s 5

由于您似乎使用的是Windows身份验证,因此您可以使用Active Directory组以及这些组中用户的成员身份来限制服务方法的使用.

有了这个,您可以使用声明性语法将调用者限制为某些组:

[ServiceContract]
interface IMyService
{
   [OperationContract]
   [PrincipalPermission(SecurityAction.Demand, Role="YourCustomRole")]
   public string MethodLimitedToGroup(string someInput);
}
Run Code Online (Sandbox Code Playgroud)

任何不是您指定的组成员并尝试调用此方法的人将收到SecurityException- 但没有其他任何内容.

这就是你要找的东西吗?