Ролевая модель: текущий пользователь

Вопрос: как узнать логин/имя/ЕМайл текущего пользователя для использовании в КУБе? Чтобы потом на основе этой информации настроить ролевую модель (разграничение доступов к данным, исходя из настроечной таблицы)

Расскажу немного о задаче:

  1. Есть массив данных (регион (Москва,Центр,Кавказ,Урал…), значение)
  2. Есть настроечная таблица, в которой указан Логин/Фио/Емайл пользователя и область данных (в виде значения поля).
    Например: Ivanov, Москва. В этом случае пользователю “Ivanov” доступны данные только по региону Москва

Может быть несколько строк:
Ivanov, Москва
Ivanov, Урал
В это случае этому пользователю доступны исключительно данные регионов Москва и/или Урал

Если же у пользователя стоит “*”, то ему доступны данные всех регионов (можно также этот вопрос решить через дополнительный столбец “Роль”: Админ/пользователь)

Добрый день!

Для того, чтобы получить одно из полей по пользователю, который в настоящее время авторизовался на платформе, можно воспользоваться функцией ниже.
Данную функцию необходимо подставить в условие where в кубе при работе с запросом в источник.
Пример функции:

${filter( cond($(user.username)))}
  • если вместо login указать другую колонку из таблицы adm.users, то можно получить значения других полей.

В результате будет отправлен запрос в источник с теми данными для выборки, которые соответствуют тому пользователю, который в настоящее время авторизовался в системе.

1 лайк

При указании такого условия в итоговом запросе просто получается where и пустота, возможно что-то не совсем так надо писать ?