box.session.euid()
-
box.session.
euid
()¶ возвращает: рабочий ID текущего пользователя. Аналогично box.session.uid(), за исключением двух случаев:
- Первый случай: если вызов
box.session.euid()
выполняется в рамках функции, вызываемой по box.session.su(user-name, function-to-execute) – в таком случаеbox.session.euid()
вернет измененный идентификатор пользователя (пользователь, который указан в параметреuser-name
функцииsu
), ноbox.session.uid()
вернет идентификатор оригинального пользователя (пользователя, который вызывает функциюsu
). - Второй случай: если вызов
box.session.euid()
выполняется в рамках функции по box.schema.func.create(function-name, {setuid= true}), и используется бинарный протокол – в таком случаеbox.session.euid()
вернет идентификатор пользователя, который создал функцию «function-name», аbox.session.uid()
вернет идентификатор пользователя, который вызывает эту функцию «function-name».
тип возвращаемого значения: число Пример:
tarantool> box.session.su('admin') --- ... tarantool> box.session.uid(), box.session.euid() --- - 1 - 1 ... tarantool> function f() return {box.session.uid(),box.session.euid()} end --- ... tarantool> box.session.su('guest', f) --- - - 1 - 0 ...
- Первый случай: если вызов