box.session.on_access_denied()
-
box.session.
on_access_denied
([trigger-function[, old-trigger-function]])¶ Определение триггера для ответа на попытки пользователя выполнить неразрешенные ему действия.
Параметры: - trigger-function (
function
) – функция, в которой будет триггер - old-trigger-function (
function
) – существующая функция с триггером, которую заменит новая
возвращает: nil или указатель функции
Если указаны параметры
(nil, old-trigger-function)
, старый триггер будет удален.Если не указан ни один параметр, ответом будет список существующих функций с триггером.
Подробная информация о характеристиках триггера находится в разделе Триггеры.
Пример:
Например, администратор сервера может регистрировать запрещенные действия:
tarantool> function on_access_denied(op, type, name) > log.warn('User %s tried to %s %s %s without required privileges', box.session.user(), op, type, name) > end --- ... tarantool> box.session.on_access_denied(on_access_denied) --- - 'function: 0x011b41af38' ... tarantool> function test() print('you shall not pass') end --- ... tarantool> box.schema.func.create('test') --- ...
И когда какой-нибудь пользователь без соответствующих прав попытается вызвать
test()`
и получит ошибку, сервер выполнит этот триггер и запишет в журнал «User *имя_пользователя* tried to Execute function test without required privileges» (Пользователь имя_пользователя пытался выполнить функцию текст без соответствующих прав).- trigger-function (