Install this middle into app/Http/Middleware.
Then add, \App\Http\Middleware\SessionTimeout::class, to app/Http/Kernel.php just after \App\Http\Middleware\StartSession::class,
| <?php | |
| namespace App\Http\Middleware; | |
| use Closure; | |
| use Session; | |
| class SessionTimeout | |
| { | |
| public function __construct() | |
| { | |
| } | |
| /** | |
| * Handle an incoming request. | |
| * | |
| * @param \Illuminate\Http\Request $request | |
| * @param \Closure $next | |
| * @return mixed | |
| */ | |
| public function handle($request, Closure $next) | |
| { | |
| $timeout = config('session.lifetime', 20) * 60; | |
| if (Session::has('lastActivityTime') && (time() - Session::get('lastActivityTime')) > $timeout) { | |
| Session::clear(); | |
| } | |
| Session::put('lastActivityTime', time()); | |
| return $next($request); | |
| } | |
| } |
hi! I tried this in laravel 5.6 and every time
Session::get('lastActivityTime')returns null