0

WCF 客户端如何动态生成目标服务的 SPN 以获取 Spnego 用例中的 kerberos 票证?例如,如果目标服务在域机器帐户下运行,则与该服务关联的 SPN 将采用“主机/机器名”的形式。

如果我们尝试使用 wcf 客户端调用服务,wcf 客户端能够获取主机/机器名的票证。我最初认为 wcf 客户端可能默认使用硬编码字符串 host/+domainname。

但是如果我将目标服务更改为在域用户下运行并将名为“http/machinename”的 SPN 与域用户相关联,wcf 客户端仍然能够成功生成该服务的票证。

WCF 客户端如何决定在这些场景中使用前缀“host/”还是“http/”。

我知道有一种方法可以在端点元素下的客户端添加自定义 spn,但我很想知道默认情况下它是如何工作的。

4

1 回答 1

0

Windows 凭据类型的默认值为 host/myhostname。这也是使用计算机帐户运行 WCF 服务时的预期 SPN。

请注意,WSDL 将包括身份(例如 SPN),因此 WCF 客户端可以在连接时使用该信息。检查 WCF 测试客户端配置文件以查看实际生成的内容。

于 2015-04-21T15:23:07.747 回答