HowTo:将asp.net intranet用户的Windows用户凭据传递给WCF服务



我想将使用ASP.NET MVC应用程序的用户的Windows凭据传递给WCF服务。我只想通过配置来实现这一点,以便在代码中透明地实现


(正如修订版中所示,这个问题最初被问得太具体了。我只是用一种更好的方式重新问了一遍,以回答我自己的问题,希望它能帮助到别人。事实证明,这是一项非常简单的任务)

在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

相关内容

  • 没有找到相关文章

最新更新