Versions Compared

Key

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

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

Настроено правило ACL на Создание, которое ограничивает пользователю заполнение поля записи. Если он попытается его заполнить через скрипт,

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

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

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

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

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

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

    Запись

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

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

    Удаление

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

    -

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


    Table of Contents