2015-04-17 3 views
1

В моей Auth у меня есть:Laravel 5 Auth возвращение 302 и ответ экрана сырым входа

class AuthController extends Controller { 
    public function __construct(Guard $auth, Registrar $registrar) 
{ 
    $this->auth = $auth; 
    $this->registrar = $registrar; 

    $this->middleware('guest', ['except' => 'getLogout']); 
} 

public function checkSession() 
{ 
    return 'test'; 
    if (!Auth::check()){ 
     return false; 
    } 
    //return Response::json(['guest' => Auth::guest()]); 
} 
} 

Который является частью чего-то для перенаправления пользователя на экране входа в систему автоматически, если их сессии истекло:

$(function() { 
    setInterval(function checkSession() { 
     $.get('/check-session', function (data) { 
      if (data.guest) { 
       location.reload(); 
      } 
     }); 
    }, 5000); 
}); 

Однако он не работает. запрос checkSession ничего не возвращает и возвращается как 302. Другой запрос также возникает сразу после этого, который возвращает исходный код для экрана входа в систему.


routes.php

Route::group(['namespace' => 'Auth'], function() { 
    Route::get('/', '[email protected]'); 
    Route::post('login', ['as' => 'login', 'uses' => '[email protected]']); 
    Route::get('/logout', ['as' => 'logout', 'uses' => '[email protected]']); 
    Route::get('check-session', ['as' => 'session.check', 'uses' => '[email protected]']); 
}); 

Route::group(['middleware' => 'auth'], function() { 

    ... 

}); 

Я попытался просто положить его в вышеупомянутой группе, но это дает тот же результат.

+0

Покажите нам ваши маршруты, пожалуйста? – lukasgeiter

+0

Я предполагаю, что какой-то фильтр захватывает этот запрос и перенаправляется на другую страницу. Если на этом маршруте есть фильтр, пожалуйста, покажите фильтр. – user3158900

+0

Это не имеет большого смысла. В функции, которую вы проверяете, если кто-то вошел в систему, но у вас есть фильтр, который будет передан только в том случае, если кто-то вошел в систему. – user3158900

ответ

4

я сделал следующее, и она работает:

$this->middleware('guest', ['except' => ['getLogout', 'checkSession']]); 

Вместо:

Смежные вопросы