简体   繁体   English

具有Windows身份验证的DNS身份类型是什么意思?

[英]What does it mean to have a DNS identity type with Windows Authentication?

What does it mean, on a high level, to specify a DNS identity when using Windows Authentication for a WCF service? 在WCF服务中使用Windows身份验证时,从总体上讲,指定DNS身份是什么意思? For example: 例如:

<configuration>
<system.serviceModel>
  <bindings>
    <wsHttpBinding>
      <binding name="WSHttpBinding_ICalculator_Windows">
        <security>
          <message clientCredentialType="Windows"/>
        </security>
      </binding>
    </wsHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://localhost:8003/servicemodelsamples/service/dnsidentity"
      binding="wsHttpBinding"
      bindingConfiguration="WSHttpBinding_ICalculator_Windows"
      contract="ICalculator"
      name="WSHttpBinding_ICalculator">
      <identity>
        <dns value="contoso.com" />
      </identity>
    </endpoint>
  </client>
</system.serviceModel>
</configuration>

This page says: 该页面显示

In this case, when the client receives the Windows (Kerberos) credentials for the service, it expects the value to be contoso.com. 在这种情况下,当客户端收到该服务的Windows(Kerberos)凭据时,它期望该值是contoso.com。

I don't really understand this. 我不太明白。 How can the value of credentials for the service be contoso.com? 服务凭证的价值如何为contoso.com? What does it mean by credentials? 凭证是什么意思?

Does it also verify that the actual DNS name of the service is indeed contoso.com? 它还是否验证服务的实际DNS名称确实为contoso.com? Otherwise, what would prevent someone from writing a rogue WCF service that says its identity is contoso.com? 否则,什么会阻止某人编写表明其身份为contoso.com的流氓WCF服务?

If I am not mistaken, the contoso.com is used to resolve the SPN for Kerberos. 如果我没记错的话,可以使用contoso.com来解析Kerberos的SPN。 The SPN looked up would be http/contoso.com:8003. 查找的SPN为http / contoso.com:8003。 This SPN would be mapped in Active Directory to a service account. 该SPN将在Active Directory中映射到服务帐户。 The Kerberos ticket will be encrypted using the service account's credentials. Kerberos票证将使用服务帐户的凭据进行加密。

I realize this is an old question, but I have found that in a self-hosted service with tcp bindings with windows transport, the client doesn't seem to respect SpnIdentity settings, only DnsIdentity settings. 我意识到这是一个古老的问题,但是我发现在具有Windows传输的tcp绑定的自托管服务中,客户端似乎并不尊重SpnIdentity设置,而仅尊重DnsIdentity设置。 Check here: wcf server authentication without certificates for more info and/or comments. 检查此处: 不带证书的wcf服务器身份验证以获取更多信息和/或注释。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM