Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check for Session timeout in Laravel

Tags:

I was just wondering if anyone knew how to check for session timeout in Laravel.

You can check whether the session has a specific item:

if (Session::has('name')) {      $name = Session::get('name'); } 

But you can't check whether the session has expired. It would be nice so that I can report back to the user in a more specific way. "Your session has timed out, please start again."

Any thoughts?

like image 398
mattl Avatar asked Feb 04 '13 14:02

mattl


People also ask

How does laravel handle session timeout?

If you want to increase your session life time then you can easily do it from configuration file in laravel. laravel provide session. php there is a 'lifetime' key option for setting time in minutes. in session configuration file there is a also several option for set driver, timeout, expire_on_close and encrypt etc.

Where is Laravel session stored?

The session configuration is stored in config/session. php . Be sure to review the well documented options available to you in this file. By default, Laravel is configured to use the file session driver, which will work well for the majority of applications.


1 Answers

Just use the same logic as the session class itself.

if ((time() - Session::activity()) > (Config::get('session.lifetime') * 60)) {    // Session expired } 

Place this in your 'before' filter - and it will run on every request.

like image 89
Laurence Avatar answered Sep 19 '22 13:09

Laurence