есть ли способ, что если пользователь будет активен в течение 30 минут, он автоматически выйдет из системы.
я использую Ion_auth Аутентификация в Codeigniter.
проверьте файл system/cms/config.php
и установите опцию $config['sess_expiration']
на значение, которое вы хотели бы иметь (в секундах, так что 30 минут будет 1800 секунд).
Имейте в виду, что это не приведет к немедленному выбрасыванию вашего пользователя из сеанса, но ему придется повторно войти в журнал в следующий раз, когда он запросит что-то, использующее сеанс (например, страницу, защищенную паролем).
Перед началом сеанса вы можете установить время жизни файла cookie сеанса, определяемое в секундах.
Например:
session_set_cookie_params(43200,"/");
session_start();
12 часов = 12 * 60 минут = 12 * 60 * 60 секунд => 43200 секунд
Теперь ваша сессия должна истечь через 12 часов
Для вашего примера: 30 минут * 60 секунд => 1800 секунд
Для информации: http://php.net/manual/en/function.session-set-cookie-params.php
Используйте редирект javascript для выхода из системы через 30 минут:
window.setTimeout(function(){
window.location.href = "/logout";
}, 1800000);
Вы пробовали использовать сессии? Вы можете установить переменную сеанса до истечения через 30 минут, система проверит отсутствие активности. По истечении времени сеанса он автоматически выйдет из системы.