2015-05-08 3 views
11

Я пытаюсь создать скрипт входа и администрирования, проблема в том, что у меня есть цикл переадресации. Я не знаю, почему.Laravel 5 ошибка переадресации

Я хочу пользователей входа и могу быть в пути / не /home.

Если изменение return new RedirectResponse(url('/')); к return new RedirectResponse(url('/anotherpage')); он работает, но я хочу быть /

Маршруты:

Route::get('/', [ 
     'as' => 'home', 'uses' => '[email protected]' 
    ]); 


    // Tutorials Routes 

    Route::get('/tutorials', '[email protected]'); 
    Route::get('/tutorials/{category?}', '[email protected]'); 
    Route::get('/tutorials/{category?}/{lesson?}', '[email protected]'); 

    // Courses and Series Routes 

    Route::get('/courses-and-series', '[email protected]'); 

    // Admin Routes 

    Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'],     function() 
    { 
     Route::get('/admin', function() 
     { 
      return 'Is admin'; 
     }); 
    }); 

    Route::controllers([ 
     'auth' => 'Auth\AuthController', 
     'password' => 'Auth\PasswordController', 
    ]); 

Администратор промежуточного слоя:

public function handle($request, Closure $next) 
    { 
     if (Auth::user()->type != 'Admin') 
     { 
      return abort(404); 
     } 

     return $next($request); 
    } 

RedirectIfAuthenticated:

public function handle($request, Closure $next) 
    { 
     if ($this->auth->check()) 
     { 
      return new RedirectResponse(url('/')); 
     } 

     return $next($request); 
    } 

Главная Контроллер:

class HomeController extends Controller { 
    public function __construct() 
    { 
     $this->middleware('guest'); 
    } 

    public function index() 
    { 
     return view('home'); 
    } 

    public function tutorials() 
    { 
     return view('pages.tutorials'); 
    } 

    public function tutorialsCategory() 
    { 
     return view('pages.tutorials'); 
    } 

    public function tutorialsLesson() 
    { 
     return view('pages.single'); 
    } 

    public function coursesandseries() 
    { 
     return view('pages.coursesandseries'); 
    } 

    public function single() 
    { 
     return view('pages.single'); 
    } 
} 
+0

попробуйте вернуть этот 'return new RedirectResponse (route ('home'));' – Digitlimit

+0

Не работает ERR_TOO_MANY_REDIRECTS – Roberto

+0

это только те маршруты, которые у вас есть? у вас есть промежуточное ПО в конструкции контроллера? Вы подключили промежуточное программное обеспечение к HomeController? Могу ли я увидеть код для HomeController. Проблема может быть от него – Digitlimit

ответ

9

Вы имеете это Перенаправление петли, потому что все методы в HomeController защищены Гостевой Middleware.

Поскольку вы хотите перенаправить идентифицированных пользователей к HomeController @ индекс

Удалить $this->middleware('guest'); из HomeController

или

Изменить гостевую Middleware игнорировать индексный метод

$this->middleware('guest', ['only' => ['tutorials','tutorialsCategory']])

Список другие методы, которые вы хотите защитить с помощью Guest Middlew исключают метод индекса

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