WCF客户端默认SPN生成



在Spnego用例中,WCF客户端如何动态生成目标服务的SPN以获取kerberos票据?例如,如果目标服务在域机器帐户下运行,那么与该服务关联的SPN将采用'host/machinename'的形式。

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

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

在这些情况下,WCF客户端如何决定是否使用前缀"host/"或"http/"。

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

Windows凭证类型默认为host/myhostname。这也是使用机器帐户运行WCF服务时所期望的SPN。

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

最新更新