Подтвердить что ты не робот

Ошибка переадресации Laravel 5

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

Я хочу пользователей входа и может находиться в / пути, а не /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');
    }
}
4b9b3361

Ответ 1

У вас есть эти петли перенаправления, потому что все методы в HomeController защищены гостевым промежуточным ПО.

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

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

или

Измените гостевое промежуточное программное обеспечение, чтобы игнорировать метод индекса

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

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