Процесс «Автоматическая обработка строк (DML)» не выполняет разрешения на редактирование формы в атрибутах

#oracle #oracle-apex #oracle-apex-19.1

#Oracle #oracle-apex #oracle-apex-19.1

Вопрос:

У меня есть область типа Form и процесс автоматической обработки строк типа (DML) для этой формы. Я настроил схемы авторизации редактирования формы (в атрибутах) для каждой операции: добавление, обновление и удаление:

Настройки атрибутов формы

Но процесс не выполняет схемы авторизации. Он всегда выполняется. Вот мой процесс:

Автоматическая обработка строк (DML)

Я применил те же схемы авторизации к кнопкам «СОЗДАТЬ», «СОХРАНИТЬ» и «УДАЛИТЬ», и они соответственно исчезают. Но злоумышленник может успешно выполнить эту команду в консоли браузера, даже если соответствующая схема авторизации возвращает false: apex.page.submit("DELETE");

Я делаю что-то не так? Или это сбой безопасности?

Oracle Apex 19.1

Заранее спасибо.

Ответ №1:

Я только что попробовал это в своем собственном приложении APEX 19.2 и смог воспроизвести проблему. Мне кажется странным, что вы можете выполнять эти действия без надлежащей авторизации. Спасибо за предупреждение!

Я смог обойти проблему, добавив схему авторизации в мою форму — Автоматическая обработка строк (DML).

Поскольку у вас есть кнопки СОЗДАНИЯ, СОХРАНЕНИЯ и удаления, вам, возможно, придется настроить 3 процесса автоматической обработки строк (DML), настроить каждый из них на выполнение только при нажатии кнопки (по одному для каждой кнопки) и назначить соответствующую схему авторизации для каждого процесса.