Я использую freeradius / mysql / daloradius.
Мне нужно, чтобы мои клиенты могли входить в систему, используя имя пользователя и пароль, с которыми они зарегистрировались, и в то же время предоставлять им разные периоды доступа.
Как мне этого добиться?
Я пытался редактировать /etc/freeradius/sql/mysql/dialup.conf
:
authorize_check_query = "SELECT id, username, password, attribute, value, op \
FROM ${authcheck_table} \
WHERE username = '%{SQL-User-Name}'\
ORDER BY id"
Вы должны использовать модуль времени входа и вызывать его после модуля SQL в raddb/sites-available/default authorize{}
.
Затем вы можете добавить строку в таблицу radcheck для пользователя, период доступа которого вы хотите ограничить, с атрибутом Login-Time
op :=
и значение в формате, описанном здесь человеческие системы под Время заголовок.
Модуль времени входа отклоняет пользователя, если он не входит в систему в течение разрешенного периода, и принимает пользователя, добавляя атрибут Session-Timeout для принудительной повторной аутентификации, когда их текущий разрешенный период доступа заканчивается.