/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!$request->user() || !$request->session()) {
         return $next($request);
     }
     if (!$request->session()->has('password_hash') && $this->auth->viaRemember()) {
         $this->logout($request);
     }
     if (!$request->session()->has('password_hash')) {
         $this->storePasswordHashInSession($request);
     }
     if ($request->session()->get('password_hash') !== $request->user()->password) {
         $this->logout($request);
     }
     return tap($next($request), function () use($request) {
         $this->storePasswordHashInSession($request);
     });
 }