Я разрабатываю приложение в CakePHP для мониторинга, и я не хочу, чтобы мой пользовательский сеанс истекал, потому что пользователю нужно часто видеть панель управления, даже если он не использует приложение.
Я нашел много способов, но я не знаю, какой из них лучший …
Что вы порекомендуете?
Заранее большое спасибо.
С наилучшими пожеланиями.
Перейдите в файл config / core.php, установите настройки сеанса следующим образом
Configure::write('Session', array(
'defaults' => 'php',
'Session.timeout' => '12312312312231'
));
Теперь вы можете изменить время ожидания сеанса по своему усмотрению.
Если вы не установили время ожидания сеанса, то вам необходимо получить доступ к функции после входа в систему через ajax-запрос за определенный промежуток времени. Вам необходимо запустить ajax-запрос с интервалом в 1 минуту для вашего после входа в систему любой функции контроллера. как это
создать функцию ajax_request()
в вашем контроллере после входа. Сейчас
setInterval(function(){
//Your ajax code
},1000);
Когда ajax-запрос переходит к функции вашего контроллера, компонент auth всегда продлевает срок действия.
$this->Session->destroy();
destroy
Метод удалит сеанс, cookie и все данные сеанса, хранящиеся во временной файловой системе.
Пользователь удалить, лучше использовать delete
,
$this->Session->delete('User');