由于您似乎使用的是Windows身份验证,因此您可以使用Active Directory组以及这些组中用户的成员身份来限制服务方法的使用.
有了这个,您可以使用声明性语法将调用者限制为某些组:
[ServiceContract]
interface IMyService
{
[OperationContract]
[PrincipalPermission(SecurityAction.Demand, Role="YourCustomRole")]
public string MethodLimitedToGroup(string someInput);
}
Run Code Online (Sandbox Code Playgroud)
任何不是您指定的组成员并尝试调用此方法的人将收到SecurityException- 但没有其他任何内容.
这就是你要找的东西吗?