$ USER
Материал из Eludia.
$_USER — глобальная переменная, описывающая текущего пользователя системы. Это ссылка на хэш, соответствующий записи таблицы users (точнее, $conf -> {core_tables} -> {users}), которая определяется по ссылке id_user для текущей сессии.
Компонента $_USER -> {role} традиционно содержит имя роли (roles.label, $conf -> {core_tables} -> {roles}.label), хотя для проверки прав в соврменных приложениях жёсткая ролевая структура используется редко.
Вместо этого, как правило, в процедуре select_subset или select_menu для $_USER устанавливаются разнообразные атрибуты, определяющие права в рамках тех или иных разделов системы. Довольно часто используется следующий механизм: в текстовом поле users.options хранится набор именованных опций через запятую. Это поле визуализируется на карточке пользователя как набор checkbox'ов, а в select_subset разворачивается в хэш:
foreach (split /\,/, $_USER -> {options}) {
$_USER -> {options_hash} -> {$_} = 1
};
| Тема этой заметки имеет некоторое отношение к компьютерной так называемой "безопасности". |

