【问题标题】:What value should the servicePrincipalName have?servicePrincipalName 应该有什么值?
【发布时间】:2018-02-19 17:34:36
【问题描述】:

我正在尝试在我的服务上设置客户端模拟。

我需要为我的服务端点的 servicePrincipalName 设置一个值

我正在看这个MSDN article,但仍然无法弄清楚

我的服务托管在我们将称为 ServerName1 的服务器上的控制台应用程序中。
Uri 是:net.tcp://ServerName1:9990/TestService1/

我的 servicePrincipalName 具体应该是什么?

我试过了,没有喜悦:

<identity>
    <servicePrincipalName value="ServerName1" />
</identity>

【问题讨论】:

    标签: c# .net wcf wcf-configuration


    【解决方案1】:

    配置 servicePrincipleName 是一个很难用几句话来描述的话题 也许这些文章会有所帮助:

    很可能,您需要按以下方式配置它

    <identity>
        <servicePrincipalName value="HOST/ServerName1:9990" />
    </identity>
    

    我们通常使用 userPrincipalName 而不是 servicePrincipalName,像这样

    <identity>
      <userPrincipalName value="account@domain.com" />
    </identity>
    

    【讨论】:

      【解决方案2】:

      您希望向用户提供服务的用户名(在其下执行)。因此,如果您想在“本地网络”凭据下执行它,上述 XML 应如下所示:

      <identity>
          <servicePrincipalName value="Local Network" />
      </identity>
      

      【讨论】:

      • 那么是否有可以在这里使用的可接受值列表,即“本地网络”是其中之一?如果我想使用调用客户端的用户凭据,它应该是什么值?
      • @Tom 我不相信你可以在配置中设置它,但你可以从代码中做到这一点
      • 我使用网络服务来运行我的自动化测试,包括生成 SOAP 请求来测试一些 WCF 服务。请求失败,这个“本地网络”设置解决了我的问题。
      【解决方案3】:

      有关如何构建 SPN 的完整指南,请查看以下文章:

      https://geertbaeten.wordpress.com/2013/06/03/kerberos-authentication-and-delegation-serviceprincipalnames/

      http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/the-biggest-mistake-serviceprincipalname-s.aspx

      这些更多是关于基础架构方面 (ADDS),但第一部分对程序员也非常有用

      【讨论】:

        【解决方案4】:

        使用 IIS 托管的 WCF 服务时。

        我们使用“host/computerName”作为&lt;servicePrincipalName /&gt;,用于匿名连接。在您的 WCF 应用程序内部,您可以设置应用程序池,例如“iis apppool\defaultAppPool”,该用户将是真正的连接用户。

        在下图中 /C??????DataService 是应用程序名称(“Tom's TestService1”) 应用程序池:C??????Pool 可以是“DefaultAppPool”,如果是“Application User(pass-through authentication)”,您将使用“IIS AppPool\DefaultAppPool”作为用户授予对特定资源的权限,例如文件或 sql server 连接字符串。

        而且,即使使用匿名身份验证,您也可以将“表单授权”设置为 WCF 应用程序内的特定资源,例如“MasterSettings.svc”。

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多