title: Redirect if authenticated logic in Laravel's built-in auth?
body: <p>This question has been asked before, and I believe my code to be correct, but I am getting strange behaviour.</p>
  
  <p>I need to redirect the user to different routes after login depending on some database values.  I thought that in order to do this I simply had to place my logic in the <code>handle</code> method of <code>app/Http/Middleware/RedirectIfAuthenticated.php</code>.  My method currently looks like so:</p>
  
  <pre><code>public function handle($request, Closure $next)
  {
  
      if ($this-&gt;auth-&gt;check()) {
          if($this-&gt;auth-&gt;user()-&gt;sign_up_complete == 1){
              return redirect('/');
          } else {
              if($this-&gt;auth-&gt;user()-&gt;step_one_complete == 0){
                  return redirect('/register/step-1');
              } elseif($this-&gt;auth-&gt;user()-&gt;step_two_complete == 0){
                  return redirect('/register/step-2');
              } else {
                  return redirect('/');
              }
          }
      }
  
      return $next($request);
  }
  </code></pre>
  
  <p>This does not work, and upon login the user is redirected to <code>/home</code>.  I have tried placing <code>dd($this-&gt;auth-&gt;user())</code> inside the <code>$this-&gt;auth-&gt;check()</code> condition, but it never gets run.  If I place it outside of that check then it's run on every request.  It looks like <code>$this-&gt;auth-&gt;check()</code> is never run.</p>
  
  <p>My question: If not here, where should this logic go?</p>
  
  <p>I have removed <code>protected $redirectTo = '/account';</code> from the <code>AuthController.php</code> controller too.</p>