2013-10-23 52 views
0

我一直在使用wcf一段時間,其認證機制,Windows,用戶名/密碼,客戶端證書一段時間。wcf如何實現其身份驗證?

我想更好地瞭解WCF在創建SOAP消息併發送它們時如何在內部使用這些身份驗證機制。

具體而言,wcf是在每個SOAP請求中傳遞的認證憑證,還是僅在第一個請求中傳遞認證憑證,然後在隨後的會話期間發出和傳遞某種令牌?

根據安全模式是傳輸還是消息,這些身份驗證憑據(用戶名+密碼,窗口,客戶端證書)是否以不同方式傳遞?在消息模式下,身份驗證憑證是否在SOAP消息內部,而在傳輸模式中,http頭是否使用其他傳輸協議來傳遞身份驗證憑證?

讓我們假設在使用傳輸模式時使用https保護SOAP消息,並在使用消息模式時加密,而不用擔心消息隱私或篡改此問題。

回答

0

你已經問過幾個大問題,但我會盡量回答有關會話的問題。

會話和身份驗證處理取決於您使用的綁定。例如,如果你使用的是basichttpbinding,主機基本上就像一個web服務器,並且沒有持續的「會話」被創建;因此您發送的每個SOAP請求都必須包含主機上進行身份驗證所需的所有內容。但是,有一些綁定可用,如WSHTTPBinding,允許創建使用令牌進行初始身份驗證後保留的安全性和可靠性會話。

在SSL中包裝消息應該可以防止出現問題。