2010-07-22 58 views
4

無處不在的示例顯示如何通過WCF執行Kerberos令牌配置文件1.1,但它使用消息安全性。實際上,WCF實現默認爲簽名+加密。我有使用SSL的要求,而是使用KTP進行身份驗證和簽名,而不是加密。可能通過WCF通過SSL使用Kerberos令牌配置文件?

如果我將模式更改爲TransportWithMessageCredential,它不再簽署請求。任何人都知道這是可能的,理想情況下,任何配置?謝謝

+0

更新:我一直在讀那它似乎可能不支持通過wsHttpBinding,所以我創建一個customBinding,做我所需要的 - 但被證明是非常棘手和乏味。如果我再取得進展,我會在這裏回覆。 – 2010-07-22 18:56:31

回答

2

Ugg。留給我來讓事情過分複雜化!我嘗試了一些bajillion設置的組合,並最終開始將它們設置爲簡單。

首先,這裏是customBinding等價的wsHttpBinding的,開箱即用:

http://webservices20.blogspot.com/2009/04/wcf-custombinding-equivalent-to.html

從那裏,我開始建立,和下面的配置最終做到了。我將ServiceContract屬性指定爲僅簽名。然後在配置中,「Kerberos」模式負責Kerberos令牌配置文件,並且httpsTransport負責SSL!那樣做了!也許這可以幫助別人的未來:

<customBinding> 
    <binding name="KerberosTokenProfileSignAndSslBinding"> 
     <security authenticationMode="Kerberos" /> 
     <httpsTransport /> 
    </binding> 
<customBinding> 

編輯:我最後寫一篇博客文章的詳細信息,萬一有人讀這需要他們 - http://robertseder.spaces.live.com/blog/cns!587F478B9240C01E!773.entry