我有一个必须由某个Active Directory用户调用的WCF服务。
如何将该WCF服务的允许呼叫者限制为特定的AD组?
答案 0 :(得分:5)
由于您似乎使用的是Windows身份验证,因此您可以使用Active Directory组以及这些组中用户的成员身份来限制服务方法的使用。
通过这种方式,您可以使用声明性语法将呼叫者限制为某些组:
[ServiceContract]
interface IMyService
{
[OperationContract]
[PrincipalPermission(SecurityAction.Demand, Role="YourCustomRole")]
public string MethodLimitedToGroup(string someInput);
}
如果您不是指定该群组的成员且尝试调用此方法,则会收到SecurityException
- 但不会有任何其他内容。
这就是你要找的东西吗?