共用方式為


安全工作階段的安全性考量

在實作安全工作階段時,您應該考量下列會影響安全性的事項。如需詳細資訊安全性考量的詳細資訊,請參閱安全性考量WCF 中安全性的最佳做法

安全工作階段與中繼資料

當已建立安全工作階段且將 RequireCancellation 屬性設定為 false 時,Windows Communication Foundation (WCF) 會傳送 mssp:MustNotSendCancel 判斷提示 (Assertion) 做為服務端點之 Web Services Description Language (WSDL) 文件內中繼資料的一部分。mssp:MustNotSendCancel 判斷提示會告知用戶端該服務無法對取消安全工作階段的要求做出回應。當 RequireCancellation 屬性設定為 true 時,WCF 就不會在 WSDL 文件中發出 mssp:MustNotSendCancel 判斷提示。當用戶端不再需要安全工作階段時,用戶端應該要傳送取消要求給服務。如果用戶端是使用 ServiceModel 中繼資料公用程式工具 (Svcutil.exe) 所產生,該用戶端程式碼就會依據 mssp:MustNotSendCancel 判斷提示的存在與否做出適當回應。

安全對話與自訂權扙

由於 WS-SecureConversation 規格中所定義的方式,因此混合使用自訂權扙及衍生金鑰可能會導致一些問題。根據規則,wsse:SecurityTokenReference 是參考衍生權扙 /wsc:DerivedKeyToken/wsse:SecurityTokenReference 的選用項目 這個選用項目用來指定安全性內容權扙、安全性權杖,或是用於衍生的共用金鑰/秘密金鑰。如果沒有指定,系統會假定收件者端可以從訊息內文確認共用金鑰。如果無法確定內容,應該會出現如 wsc:UnknownDerivationSource 的錯誤。

這意味著如果您希望衍生自訂權扙,必須將以 SecurityTokenReference 項目包裝它的子句型別。也可以選擇關閉衍生,但是預設值為會衍生金鑰。如果您無法包裝金鑰,序列化衍生金鑰權杖仍會繼續進行,但是嘗試還原序列化時,便會擲回例外狀況。

另請參閱

工作

HOW TO:在 WSFederationHttpBinding 上停用安全工作階段

概念

WCF 中安全性的最佳做法

其他資源

安全性考量