(这个问题最初是以一种过于具体的方式提出来的,正如修订版中所见。我只是以更好的方式重新问这个问题,以回答我自己,希望它可以帮助某人。事实证明这是一个非常简单的任务。)
答案 0 :(得分:4)
在web.config(客户端和服务器)中,在<system.serviceModel>
部分添加/修改绑定,看起来像这样:
<basicHttpBinding>
<binding name="MyBasicBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
并将此添加到客户端web.config <system.web>
部分:
<identity impersonate="true" />
<authentication mode="Windows" />
这两项更改将使最终用户成为Web请求的当前用户,然后将在WCF消息中发送。
然后可以在服务器端检索用户,如下所示:
ServiceSecurityContext.Current.WindowsIdentity