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