如何检查谁正在调用WCF Windows服务

时间:2011-10-22 13:07:47

标签: c# asp.net wcf authentication

我创建了一个使用Windows服务托管的WCF服务。

Windows服务在services.msc

下的LocalSystem下运行

我只想允许来自属于dmain用户组的asp.net UI用户的接受请求? 最终我们将有多个UI,我不想在UI中编写安全检查代码。

如何查看谁在拨打电话,以便我可以执行以下操作:

if (incomingUserGroup != "GroupRequired)
{
 throw NotAllowedException();
}

1 个答案:

答案 0 :(得分:1)

您可以通过OperationContext检查主叫用户的安全凭据。这取决于您是否使用安全绑定(如netTcpBinding或WSHttpBinding)在端点上提供服务。

OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Groups