Редирект Loop Laravel 5.1 в Фортраббит

Я развернул приложение Laravel для Fortrabbit. Развернутое приложение — это простое приложение, предназначенное только для проверки аутентификации и промежуточного программного обеспечения («auth» и «guest»). Я попробовал приложение в localhost, аутентификация и промежуточное ПО работали нормально. Когда я попробовал мое приложение в fortrabbit, аутентификация работала правильно, но была проблема с промежуточным ПО. я получил

Эта веб-страница имеет цикл перенаправления, ERR_TOO_MANY_REDIRECTS

каждый раз, когда я захожу на домашнюю страницу.

routes.php:

Route::get('/','UserController@getIndex');

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

Route::get('login','UserController@getLogin');
Route::post('login','UserController@postLogin');

Route::get('register','UserController@getRegister');
Route::post('register','UserController@postRegister');

});

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

Route::get('home','MainController@getHome');
Route::get('logout','MainController@logout');

});

Authenticate.php для промежуточного программного обеспечения ‘auth’:

public function handle($request, Closure $next)
{

if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else{
return redirect()->guest('/login');
}

return $next($request);
}

RedirectIfAuthenticated.php для «гостевого» промежуточного программного обеспечения:

public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('home');
}

return $next($request);
}

Есть ли какие-либо файлы / настройки в fortrabbit, которые я должен настроить, чтобы правильно запустить это приложение?

0

Решение

Ваше промежуточное программное обеспечение выглядит мне.
Если guest () делает это, если нет guest перенаправить на логин. Разве вы не должны быть перенаправлены для входа, если вы являетесь гостем на странице, где гости не допускаются?
Вы находитесь в бесконечном цикле, потому что, как только вы войдете в систему, вы больше не будете гостем, поэтому вы будете перенаправлены на «home», который вызывает отключенный «auth» и перенаправляет вас на вход, который вызывает «guest», который перенаправляет вас …

Я думаю, что ваше промежуточное ПО должно выглядеть следующим образом, источник из Laravel на Github

public function handle($request, Closure $next)
{
if ($this->auth->guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('auth/login');
}
}
return $next($request);
}
0

Другие решения

После модификации config/cache.php с конфигурацией memcache в Fortrabbit (ссылка на сайт), мы должны изменить не только значение CACHE_DRIVER но также SESSION_DRIVER в memcached в .env файл

0

По вопросам рекламы [email protected]