перенаправление laravel при входе в систему

Я использую laravel 5.1.8. я делаю систему входа/регистрации. я сделал контроллер с именем AdminController и защитил его промежуточным по.

но я использую AuthController laravel по умолчанию, методы и классы которого расположены в разных местах. где маршруты:

Route::Controllers([
    'auth' => 'AuthAuthController',
    'password' => 'AuthPasswordController'
]);

get('admin', 'AdminController@index');
get('profile', 'AdminController@profile');
get('article', 'AdminController@article');

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

когда я пытаюсь это сделать, он ищет "/home " и дает ошибки. я хочу сделать это 'админ'.

3 ответов


перейти к App\Http\Middleware\RedirectIfAuthenticated тогда измените его на

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

    return $next($request);
}

to

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

    return $next($request);
}

добавьте это в ваш AuthController:

protected $redirectTo = '/admin';

Это говорит всем методам перенаправления в различных чертах перенаправлять туда вместо /home.


когда пользователь успешно аутентифицируется, они будут перенаправлены на URI / home, который вам нужно будет зарегистрировать маршрут для обработки. Вы можете настроить расположение перенаправления после аутентификации, определив свойство redirectPath на AuthController:

protected $redirectPath = '/ dashboard';