PowerApps: реализация безопасности на основе ролей в приложении PowerApps - PullRequest
0 голосов
/ 11 октября 2018

Я создал приложение с помощью Power Apps.Предположим, что на главном экране есть две кнопки «admin» и «user».Если пользователь с правами администратора получает доступ к приложению, он / она должен видеть только кнопку «Администратор».В случае, если пользователь с ролью «Пользователь» входит в систему, он / она должен видеть только кнопку «Пользователь».Предположим, что пользователи являются частью Azure Active Directory.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Управление доступом к элементам приложения на основе роли безопасности пользователя. Существует три подхода к этому:

Метод 1. Мы можем использовать группы Azure Active Directory.Нам нужно создать пользовательский соединитель в PowerApps, который будет возвращать группы (обозначающие роль безопасности), частью которых является пользователь.Эти группы должны быть созданы в Azure Active Director.Пользователь должен принадлежать к группе.

Метод 2: Это более применимо, если источник данных для приложения использует модель на основе ролей безопасности.В этом случае PowerApps будет наследовать роли безопасности пользователя в источнике данных.

Метод 3: Предположим, в качестве источника данных для нашего приложения используется база данных SQL-сервера.мы можем создать нашу собственную модель безопасности, например, иметь пользовательскую таблицу со столбцами, в которых хранятся значения логического типа (бит в SQL Server), причем каждый столбец представляет роль безопасности.Значение true обозначает, что пользователю назначены соответствующие роли.

0 голосов
/ 23 октября 2018

Вы можете сделать это несколькими способами в зависимости от того, как настроена ваша среда.

  1. Хранить адреса электронной почты администратора в списке где-нибудь (Azure SQL / Sharepoint / и т. Д.)
  2. Подключение кисточник данных Office365Users (View/Data Sources)
  3. Сравнить пользователя (). Отправить список администраторов по электронной почте
  4. Установите для параметра «Видимость кнопки администратора» значение «true», если оно равно true, иначе «false»

Другой вариант - подключиться к источнику данных Azure AD и использовать AzureAD.GetMemberGroups или другие подобные функции, чтобы определить, является ли пользователь частью правильной группы безопасности.

Если выВы небольшая команда, и команда администраторов ВСЕГДА будет администраторами, вы можете жестко закодировать ее в свое приложение с помощью:

If(
    User().Email = bob@mycompany.com,
    true,
    false
)
...