保護工作流程服務
本主題僅適用於 Windows Workflow Foundation 4。
安全工作流程服務範例示範下列程序:
使用 Windows Communication Foundation (WCF) 組態,定義工作流程服務所用的安全端點。
在自訂原則中建立宣告,並使用 ServiceAuthorizationManager 驗證宣告。
示範
使用 WCF 安全性保護用戶端和工作流程服務之間的通訊、宣告架構的授權
討論
這個範例示範如何使用 WCF 安全性基礎結構來保護工作流程服務,就像保護一般 WCF 服務一樣。 特別是對授權使用自訂宣告。 在這個範例中,會使用 WSHttpBinding 和訊息模式安全性搭配 Windows 認證。
自訂 IAuthorizationPolicy (CustomNameCheckerPolicy
) 會檢查用戶端的 Windows 使用者名稱和特定字元。 如果該字元存在,則會建立宣告並將它加入至 EvaluationContext。 透過這種方式,自訂原則表示用戶端的使用者名稱中有這個字元。 在呼叫的存留期間,可以查詢這個宣告。 您可以在 Constants.cs
中找到該字元。
授權原則會在 SecureWorkFlowAuthZManager
中尋找宣告。 如果找到,會傳回 true 並允許工作流程繼續執行。 否則會傳回 false,導致「拒絕存取」訊息傳回至用戶端。 其他宣告存在於此內容中,也可以在 SecureWorkFlowAuthZManager
中進行檢查。
若要執行這個範例
以系統管理員權限執行 Visual Studio 2010。
在 Visual Studio 2010 中載入 SecuringWorkflowServices.sln。
按 F6 以編譯方案。
將 Service 專案設定為方案的啟始專案。
按 CTRL+F5 啟動服務但不偵錯。
將 Client 專案設定為方案的啟始專案。
按 CTRL+F5 啟動用戶端但不偵錯。
![]() |
---|
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。
<InstallDrive>:\WF_WCF_Samples
如果此目錄不存在,請移至用於 .NET Framework 4 的 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 範例 (英文),以下載所有 Windows Communication Foundation (WCF) 和 WF 範例。 此範例位於下列目錄。
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\Services\SecuringWorkflowServices
|