Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Этот серверный класс содержит методы для работы с записями базы данных с учетом правил контроля доступа (ACL) конкретного пользователя. Все методы SimpleRecordSecure идентичны методам SimpleRecord, но применяются с учетом правил контроля доступа.

Если пользователь выполняет операцию Создание, Запись или Удаление в базе данных при наличии запрещающих ACL, операция не будет выполнена, а метод getErrors(), вызванный после нее, вернет соответствующую ошибку.

Если пользователь выполняет операцию Чтение из базы данных при наличии запрещающих ACL, данные предоставлены не будут, но метод getErrors() не вернет ошибок.

Поведение системы при наличии запрещающих правил контроля доступа (ACL)

попытается выполнит останется будет удалена
Запрещенное действиеЗапрет для записиЗапрет для поля
СозданиеЕсли пользователь заполнит заполняет запись через скрипт и выполнит выполняет метод insert(), то запись не будет созданасоздается.

Если пользователь заполнит заполняет поле через скрипт и выполнит выполняет метод insert(), то запись будет созданасоздается, но поле будет пустым пусто или будет заполнено значением по умолчанию (если оно предусмотрено).

Запись

Если пользователь укажет указывает новые значения для полей записи через скрипт и выполнит выполняет метод update(), то запись не обновитсяобновляется. При вызове updateMultiple() записи в выборке, изменение которых запрещено ACL, останутся остаются без изменений, остальные успешно обновятся.

Note

В более поздних версиях предполагается изменение работы метода updateMultiple() на аналогичное deleteMultiple(): если у пользователя нет доступа к изменению хотя бы одной из записей в выборке, ни одна из записей не будет изменена. Рекомендуется учитывать это при написании скриптов.

обновляются.

Если пользователь указывает Если пользователь укажет новое значение поля через скрипт и выполнит выполняет метод update()updateMultiple(), то запись обновитсяобновляется, но значение полей, доступ к которым запрещен, останется остается без изменений.

Удаление

Если пользователь

пытается удалить запись через скрипт и

выполняет метод deleteRecord(), то запись

остается без изменений. При вызове deleteMultiple(), если в выборке есть хоть одна запись, удаление которой запрещено, ни одна запись не

удаляется.

-

ЧтениеЕсли пользователь запросит запрашивает запись через скрипт, скрытые данные не будут включены включаются в ответ. Вся строка ответа будет пустойпустая.Если пользователь запросит запрашивает данные поля через скрипт, они не будут включены включаются в ответ. Колонка с запрещенным полем будет пустойпустая.


Table of Contents