本快速入門說明如何使用 MIP 保護 SDK 來列出使用者可用的保護範本。
先決條件
如果您尚未完成,請務必先完成下列必要條件,再繼續進行:
- 完成 快速入門:用戶端應用程式初始化 - 保護 SDK (C#),這會建立一個基本的 Visual Studio 解決方案。 本「清單保護範本」快速入門依賴於前一個快速入門,以便正確創建入門解決方案。
- 選擇性:檢閱 RMS 範本 概念。
新增邏輯以列出保護範本
使用保護引擎物件,新增邏輯以列出使用者可用的保護範本。
開啟您在先前的<快速入門 - 用戶端應用程式初始化 - 保護 SDK (C#)》一文中建立的 Visual Studio 解決方案。
使用 方案總管,在您的項目中開啟包含 方法實作
Main()的 .cs 檔案。 它預設為與包含它的專案相同的名稱,此專案名稱是在您建立專案時指定的。在
Main()程式結構的接近結尾處,於Main()函式中的應用程式關機區段上方(你在上一階段的快速入門中停下來的位置),插入下列程式碼:
// List protection templates using protectionEngine and display the list
var templates=protectionEngine.GetTemplates();
for(int i = 0; i < templates.Count; i++)
{
Console.WriteLine("{0}: {1}", i.ToString(), templates[i].Name + " : " + templates[i].Id);
}
Console.WriteLine("Press a key to continue...");
建置及測試應用程式
最後,建置及測試用戶端應用程式。
使用 CTRL-SHIFT-B (建置解決方案)來建置用戶端應用程式。 如果您沒有建置錯誤,請使用 F5 (開始偵錯) 來執行應用程式。
如果您的專案建置並成功執行,應用程式 可能會在 每次 SDK 呼叫您的
AcquireToken()方法時,提示透過 ADAL 進行驗證。 如果快取的認證已經存在,系統將不會提示您登入,並查看標籤清單。驗證之後,主控台輸出應該會顯示已驗證使用者的保護範本,類似下列範例:
0: Confidential \ All Employees : a74f5027-f3e3-4c55-abcd-74c2ee41b607
1: Highly Confidential \ All Employees : bb7ed207-046a-4caf-9826-647cff56b990
2: Confidential : 174bc02a-6e22-4cf2-9309-cb3d47142b05
3: Contoso Employees Only : 667466bf-a01b-4b0a-8bbf-a79a3d96f720
Press a key to continue.
備註
複製並儲存一或多個保護範本的標識碼(例如,bb7ed207-046a-4caf-9826-647cff56b990),以便您在下一個快速指南中使用。
故障排除
C# 應用程式執行期間的問題
| 總結 | 錯誤訊息 | 解決方法 |
|---|---|---|
| 不正確的存取令牌 |
發生例外狀況...存取令牌不正確/過期嗎? 失敗的 API 呼叫:profile_add_engine_async 失敗,發生:[類別 mip::PolicySyncException] 無法取得政策,請求失敗,HTTP 狀態代碼為 401,x-ms-diagnostics:[2000001;原因="與請求一起提交的 OAuth 令牌無法解析。";錯誤類別="invalid_token"],correlationId:[35bc0023-3727-4eff-8062-000006d5d672] C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) 以代碼 0 結束。 按任意鍵關閉此視窗 。 . . |
如果您的專案成功建置,但您看到的輸出類似於左側顯示的內容,則可能是您的 AcquireOAuth2Token() 方法中有無效或過期的令牌。 返回 建置並測試應用程式, 然後重新產生存取令牌、再次更新 AcquireOAuth2Token() 和重建/重新測試。 您也可以使用 jwt.ms 單頁 Web 應用程式,檢查並驗證令牌及其宣告。 |
後續步驟
既然您已瞭解如何列出已驗證使用者可用的保護範本,請嘗試下一個快速入門: