Краткое руководство. Перечисление списка шаблонов (C#)
В этом кратком руководстве показано, как использовать SDK MIP Protection, чтобы перечислить доступные пользователю шаблоны защиты.
Необходимые компоненты
Прежде чем продолжить, выполните следующие предварительные требования:
- Изучите статью Краткое руководство. Инициализация клиентских приложений — пакет SDK Protection (C#), в которой показано, как создать начальное решение в Visual Studio. Чтобы правильно создать первое решение с помощью инструкций из этого краткого руководства по выводу списка шаблонов защиты, пройдите предыдущее руководство.
- (Необязательно.) Изучите понятия шаблонов RMS.
Добавление логики для перечисления шаблонов защиты
Добавьте логику для перечисления доступных пользователю шаблонов защиты, используя объект подсистемы Protection.
Откройте решение Visual Studio, созданное при работе с предыдущей статьей "Краткое руководство. Инициализация клиентских приложений — пакет SDK Protection (C#)".
С помощью Обозревателя решений откройте файл .cs в проекте, содержащем реализацию метода
Main()
. По умолчанию он имеет то же имя, что и содержащий его проект, который вы указали при создании проекта.В конце блока
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 (Начать отладку), чтобы запустить приложение.
Если проект успешно создан и запущен, приложение может запрашивать проверку подлинности через ADAL каждый раз, когда пакет SDK вызывает метод
AcquireToken()
. Если учетные данные уже есть в кэше, вам не будет предложено войти, чтобы посмотреть список меток.Кроме того, вам может потребоваться предоставить разрешение на доступ приложения к API MIP во время работы с учетной записью, использовавшейся для входа. Это происходит, когда регистрация приложения Microsoft Entra не предоставляется предварительно (как описано в разделе "Настройка и настройка пакета SDK MIP") или вы входите с учетной записью из другого клиента (отличного от того, где зарегистрировано приложение). Просто щелкните Принять, чтобы записать согласие.
После проверки подлинности в выходных данных консоли должны отображаться шаблоны защиты для аутентифицированного пользователя, как показано в следующем примере:
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#
Итоги | Сообщение об ошибке | Решение |
---|---|---|
Неправильный маркер доступа | Выдано исключение… Маркер доступа неправильный или истек срок его действия? Failed API call: profile_add_engine_async Failed with: [class mip::PolicySyncException] Failed acquiring policy, Request failed with http status code: 401, x-ms-diagnostics: [2000001;reason="OAuth token submitted with the request cannot be parsed.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) exited with code 0. Нажмите любую клавишу, чтобы закрыть это окно. . . |
Если ваш проект создан успешно, но отображается результат, аналогичный показанному слева, скорее всего, в методе AcquireOAuth2Token() используется недействительный маркер или маркер, срок действия которого истек. Вернитесь в раздел Сборка и тестирование приложения и заново создайте маркер доступа, обновите AcquireOAuth2Token() еще раз, а также повторно выполните сборку и тестирование приложения. Вы также можете проверить и подтвердить маркер и его утверждения с помощью одностраничного веб-приложения jwt.ms. |
Дальнейшие действия
Теперь, когда вы узнали, как перечислить шаблоны защиты, доступные пользователю, прошедшему проверку подлинности, переходите к следующему краткому руководству: