title: Laravel login redirected you too many times
body: <p>I have been struggling with this from quiet a time now, what i am trying is to redirect all the url's hit by non-logged in users to login page and it gives me this error, which I am sure is because it is creating a loop on /login URL. authentication is checking for authorized user in login page also. however I wish the login page should be an exception when checking the auth. I may be doing something wrong which I am not able to get. here goes my code.</p>
  
  <p><strong>routes.php</strong></p>
  
  <pre><code>Route::post('login', 'Auth\AuthController@login');
  Route::get('login' , 'Auth\AuthController@showLoginForm');
  Route::get('/'     , 'Auth\AuthController@showLoginForm');
  </code></pre>
  
  <hr>
  
  <p><strong>kernel.php</strong></p>
  
  <pre><code>protected $routeMiddleware = [
      'auth' =&gt; \App\Http\Middleware\Authenticate::class,
      'auth.basic' =&gt; \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
      'can' =&gt; \Illuminate\Foundation\Auth\Access\Middleware\Authorize::class,
      'guest' =&gt; \App\Http\Middleware\RedirectIfAuthenticated::class,
      'throttle' =&gt; \Illuminate\Routing\Middleware\ThrottleRequests::class,
      'acl' =&gt; \App\Http\Middleware\CheckPermission::class,
  ];
  </code></pre>
  
  <hr>
  
  <p><strong>Authenticate class</strong></p>
  
  <pre><code>class Authenticate
  {
      public function handle($request, Closure $next, $guard = null) {    
        if (Auth::guard($guard)-&gt;guest()) {
          if ($request-&gt;ajax() || $request-&gt;wantsJson()) {
              return response('Unauthorized.', 401);
          } else {
              return redirect()-&gt;guest('login');
          }
        }
      return $next($request);
      }
  }
  </code></pre>
  
  <hr>
  
  <p><strong>AuthController class</strong></p>
  
  <pre><code>class AuthController extends Controller {
  
      use AuthenticatesAndRegistersUsers, ThrottlesLogins;
      protected $redirectTo = '/dashboard';
      protected $loginPath = '/login';
      protected $redirectPath = '/dashboard';
  public function __construct(){
      $this-&gt;middleware('auth', ['except' =&gt;'login']); 
      /* I have been trying these many things to fix this, all in loss.
      // $this-&gt;middleware('acl'); // To all methods
      // $this-&gt;middleware('acl', ['only' =&gt; ['create', 'update']]); 
      // $this-&gt;middleware('guest', ['only' =&gt; ['/login']]);
      // echo "Message"; exit;
      // $this-&gt;middleware('auth');
      // $this-&gt;middleware('auth', ['only' =&gt; ['login']]);
      // $this-&gt;middleware('auth', ['only' =&gt; ['/login']]);
      // $this-&gt;middleware('auth', ['except' =&gt; 'login']);
      // $this-&gt;middleware('guest');
      // $this-&gt;middleware('guest', ['only' =&gt; ['logout' , 'login', '/login', '/']]);
  }
  </code></pre>
  
  <p>Please help me, It going all above my head, seems some sort of rocket science to me. well btw I am new to laravel and may be doing some silly thing around, apologies for that. Thanks in Advance.</p>