Versions Compared

Key

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

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

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

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

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

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

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

Запись

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

укажет

указывает новые значения для полей записи через скрипт и

выполнит

выполняет метод update()

updateMultiple()

, то запись не

обновится, метод getErrors() вернет соответствующую ошибку

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

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

Удаление

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

попытается

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

выполнит

выполняет метод deleteRecord()

deleteMultiple()

, то запись

останется

остается без изменений

, а метод getErrors() вернет соответствующую ошибку.

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

-

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


Table of Contents