Расположены Системные таблицы
— Доступы
— Пользователи
, Роли
:
Роли — указываются в таблицах и полях и определяют уровень доступа. Таблица Роли
Пользователи — имеют логины
и пароли
для авторизации. Пользователю
назначаются роли
, которые определяют его уровень доступа. Таблица Пользователи
Имеет
id=1
. Все создаваемые таблицы автоматически добавляются в нее на изменение. Видит скрытые поля и слой настройки системы.
Ролевой доступ к таблице редактируется в настройках таблицы:
Параметр таблицы Роли на изменение
Доступ на изменение
перекрывает доступ на чтение
. Если вы ставите доступ на изменение
— чтение
можно не указывать.
Параметр таблицы Роли на чтение
При наличии в таблице кнопок, часто бывает необходимо блокировать изменение в таблице, но разрешить действия по кнопкам. Для этого доступ на чтение комбинируется с параметром поля кнопки действие доступно при просмотре.
Параметр таблицы Роли «скрыть в дереве
Используется, что бы скрыть техническую таблицу у пользователя из дерева. Если у пользователя нет доступа к этой таблице на чтение
или изменение
не применяется тк таблицы без доступа скрываются автоматически.
Добавление — возможно ли изменение значения поля в строке добавления и панели при добавлении. Применимо только к строчной части.
Изменение — возможно ли изменение значения поля в добавленной ранее строке.
Видимость — определяет, передается ли поле в браузер пользователю.
Доступ к логу — определяет, может ли пользователь открыть лог по полю, если он записывается для поля. Включен параметр логгирование.
Доступ в API — параметры доступа пользователей с признаком API. Не действует для web-пользователей.
Если пользователю назначены несколько ролей, которые по разному определяют доступы к одним и тем же таблицам, то
изменение и показ
будет приоритетнее чемчтение и скрытие
.
Кликните здесь, чтобы быстро отключить слой настройки системы и поля видимые только Создателю:
Таблица циклов при создании имеет обязательное техническое поле Доступ пользователю (creator_id)
. По умолчанию туда записывается пользователь создавший цикл.
На основе этого поля определяется создатель (владелец) цикла. Оно может быть изменено вручную или кодами, а также в нем может быть выбрано несколько владельцев.
Дальше доступ к циклам будет осуществляться в соответствии с настройкой таблицы тип доступа к циклам.
В случае, когда необходимо создать иерархическую структуру доступа, используются поля Начальник (boss_id)
и Доступ к циклам пользователей (add_users)
.
Начальник
получает доступ создателя цикла к своим подчиненным. Аналогично пользователь получает доступ как создатель цикла к циклам пользователей выбранных в add_users
.
Редко используемый специальный режим работы, который позволяет пользователю создавать в таблице циклов только одну запись.
Если ее нет, то при первом открытии таблицы с одним циклом эта запись будет создана автоматически.
Чтобы не было доступа к циклам других пользователей обязательно надо установить Тип доступа к циклам в положение
Никто не видит, кроме создателя
.
В кодах действий, форматирования или селектах можно осуществлять обработку текущей роли
пользователя и id
пользователя:
$#nr
— список id
ролей пользователя.
$#nu
— id
пользователя в таблице Пользователи.
f1=: setFormat(condition: $#nr = 3; block: true)
admin
— пользователь по умолчанию имеющий роль создатель
.
cron
— технический пользователь от которого выполняются задания по расписанию.
service
— технический пользователь от которого выполняется восстановление и смена паролей пользователей.
anonym
— пользователь, от которого выполняется доступ к анонимным таблицам.
Несколько настроек связанных с пользователями вынесены в таблицу Системные таблицы
— Основные
— Настройки и крон
— Настройки
:
Время блокировки — время за которое необходимо ошибочно ввести логин-пароль для блокировки этого логина на это-же время.
Количество попыток — количество ошибочных попыток за период время блокировки
.
Если нужно экстренно разблокировать заблокированного пользователя — это можно сделать из консоли сервера командой
bin/totum schema-user-unblock username -s=schema_name
(заменитеschema_name
на ваше имя схемы, по умолчаниюtotum
).API-пользователи, которые подключаются к системе с большой частотой засоряют таблицу логов авторизаций, что замедляет последующие авторизации так-как увеличивает время проверки. Для таких пользователей предусмотрено отключение механизма записи авторизации в БД и блокировки при неправильном вводе пароля. Поле
ttm__off_auth_log
таблицы пользователей.
true
, то пользователи смогут запросить восстановление пароля на почту.Восстановление пароля будет возможно, только если у пользователя задан
noreply@host
. Также необходимо наличие настроек SMTP, описанных в emailSend.
Отключение пользователя блокирует его авторизацию в системе и закрывает все существующие сессии при следующем изменении в открытой таблице или ее обновлении.
Пользователь, которому назначен этот параметр в таблице Пользователей получает доступ к таблицам связанным с управлением пользователями, а также может изменять доступы пользователей не относящихся к техническим и Создателям.
Пользователь с этим доступом не может назначить другому пользователю или себе роль Создатель.
Также он не может назначить sudo-пользователя себе или другому пользователю.
Позволяет переключаться между пользователями, за исключением пользователей с ролью создатель
, а также выполнять от них действия в системе.
Действие выполненное в sudo-режиме неотличимо в логах от действия выполненного самим пользователем.
Пользователи могут назначать себе избранные таблицы, которые будут отображены в дереве при переходе на главную страницу по клику на иконку схемы. Также избранные таблицы могут выбраны для роли — тогда они будут назначены пользователю автоматически при создании его с этой ролью.
Избранные таблицы конкретного пользователя назначаются и изменяются в таблице Системные таблицы
— Доступы
— Пользователи
.
В таблице Системные таблицы
— Доступы
— Роли
возможно назначить для роли временную таблицу, которая будет показана на главной странице.
Может быть выбрано несколько таблиц — тогда они в порядке своего sort
будут отображены на вкладках.
В таблице ролей в поле redirect_table_in_roles
можно выбрать таблицу, на которую будет осуществлен автоматический переход при логине в систему.
Если у пользователя несколько ролей с разными таблицами редиректа — будет выбрана приоритетная по sort таблицы.
Нельзя выбрать таблицы внутри цикла!