這個快速入門工具展示了如何使用 MIP Protection 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()方法時,透過 MSAL 提示驗證。 如果已經有快取的憑證,系統不會提示你登入並查看標籤清單。驗證之後,主控台輸出應該會顯示已驗證使用者的保護範本,類似下列範例:
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.
備註
複製並儲存一個或多個保護範本的 ID(例如 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 應用程式,檢查並驗證令牌及其宣告。 |
下一步
既然您已瞭解如何列出已驗證使用者可用的保護範本,請嘗試下一個快速入門:
- 請在 GitHub 上探索 MIP Protection SDK .NET 範例。