【问题标题】:ASP.NET MVC Windows AuthenticationASP.NET MVC Windows 身份验证
【发布时间】:2011-12-16 05:05:42
【问题描述】:

我们有一个 ASP.NET MVC 网站和一个 WCF 服务。

我们在网站上使用 Windows 身份验证,并希望将凭据从网站传递到服务。通常(到目前为止)服务和网站在同一台服务器上。目前我们将用户名作为字符串传递,但知道这可能不是一个好的选择。

我们想在执行 WCF 服务方法时知道 AD 用户名,因为我们的数据库中有映射,将 AD 用户映射到我们系统中的各种角色。

我们希望 WCF 服务以我们配置它的 IIS 身份运行,因为该用户有权访问 SQL。

我们从这里去哪里?

【问题讨论】:

    标签: asp.net wcf active-directory windows-authentication


    【解决方案1】:

    使用Forms Authentication Ticket 传递用户名。如果 WCF 和 MVC 将位于不同的框/域上,请确保覆盖加密和域。这些说明提到了 machineKey,但对于域来说,它只是表单元素中的 domain="MyDomain" 属性。

    【讨论】:

    • 所以无法让服务知道实际的 AD 用户身份?
    • @AranMulholland 对此不确定,但这是我们用来在 WCF 和 ASP.Net 之间传递用户名的方式。
    【解决方案2】:

    您没有说明您使用的是什么绑定。如果你使用这样的东西,它应该可以工作:

        <binding name="IWABinding">
          <security mode="Transport">
            <transport clientCredentialType="Windows" />
          </security>
        </binding>
    

    您可能会将它与 netTcpBinding 一起使用。您也可以通过 basicHttpBinding 使用它,也可以考虑使用 TransportCredentialOnly。

    欲了解更多信息,请参阅:http://msdn.microsoft.com/en-us/library/ms733089(v=vs.110).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多