2014-07-26 140 views
0

WCF客戶端如何動態生成目標服務的SPN以獲取Spnego用例中的Kerberos票據? 例如,如果目標服務正在域計算機帳戶下運行,則與該服務關聯的SPN將採用「主機/機器名」的形式。WCF客戶端默認的SPN生成

如果我們嘗試使用wcf客戶端調用服務,則wcf客戶端可以獲取主機/機器名稱的票證。我最初認爲wcf客戶端可能默認使用硬編碼字符串主機/ +域名。

但是,如果我將目標服務更改爲在域用戶下運行並將域名用戶與名爲「http/machinename」的SPN關聯,那麼wcf客戶端仍能夠成功生成此服務的票證。

WCF客戶端如何決定在這些情況下是使用前綴'host /'還是'http /'。

我知道有一種方法可以在客戶端端點元素下添加自定義spn,但我很想知道默認情況下它是如何工作的。

回答

0

缺省值是Windows憑據類型的主機/ myhostname。這也是使用計算機帳戶運行WCF服務時的預期SPN。

請注意,WSDL將包含標識(例如SPN),因此WCF客戶端可以在連接時使用該信息。檢查WCF測試客戶端配置文件以查看實際生成的內容。