Можно ли безопасно обеспечить, чтобы пользователь мог получить доступ к данным только через отношение? - PullRequest
0 голосов
/ 26 июня 2018

Я читал всю документацию AppMaker по безопасности, но есть одна часть, которую я не могу обернуть, это то, как вы ограничиваете доступ только к подмножествам записей.

Допустим, я менеджер компании, и мне нужен доступ, чтобы просмотреть записи Контракт для каждого сотрудника , которым я управляю. У меня должен быть доступ к записям Contract , которые соответствуют людям, которыми я управляю, но не принадлежат другим командам. Мне нужен доступ к некоторым контактам, но не ко всем.

Кажется, я не вижу, как это сделать в интерфейсе. Я ожидал, что это может быть в случае создания нового источника данных, который был отфильтрован так, чтобы включать только соответствующие записи и устанавливать разрешения на доступ к новому источнику данных, но источники данных, похоже, не имеют никаких назначаемых им разрешений.

Можно ли создать элементы управления доступом, которые ограничивают доступ к подмножествам данных (с сервера), или вам нужно полагаться на то, что они скрыты в клиенте?

1 Ответ

0 голосов
/ 28 июня 2018

Мне пришлось сделать некоторые предположения в отношении ваших настроек данных, но вот моя лучшая попытка ответить на ваш вопрос. Скорее всего, настройка Model Security должна помочь вам выполнить то, что вы хотите сделать, однако, чтобы настроить это, вы должны использовать опцию «Advanced» в разделе Security Model. Для вашей модели контрактов установите для параметра «Загрузить» значение «Владелец или роли», в качестве параметра поля, который вам нужно будет выбрать, будет «Дополнительно», и это даст вам возможность установить поле электронной почты для параметра поля электронной почты связанных моделей. Чтобы это работало, ваша модель менеджера должна иметь поле «Email менеджера».

Допущения:

  1. 3 модели, менеджеры, сотрудники и контракты.
  2. Модель менеджеров имеет поле электронной почты, а модель сотрудников - поле электронной почты.
  3. Отношения таковы: руководители (один) - сотрудники (многие) и сотрудники (один) - контракты (многие).

Смотрите прикрепленные скриншоты: Model Field Advanced Option

Model Security for relations

...