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

Переадресация laravel при входе в систему

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

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

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

get('admin', '[email protected]');
get('profile', '[email protected]');
get('article', '[email protected]');

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

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

4b9b3361

Ответ 1

перейти к 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);
}

Ответ 2

Добавьте это в свой AuthController:

protected $redirectTo = '/admin';

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

Ответ 3

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

protected $redirectPath = '/dashboard';

Ответ 4

Включить промежуточное ПО \App\Http\Middleware\RedirectIfAuthenticated::class в массив "web" группы $ middlewareGroups после промежуточного ПО \Illuminate\Session\Middleware\StartSession::class

затем измените ваш путь перенаправления в методе handle() RedirectIfAuthenticated

public function handle($request, Closure $next, $guard = null)
    {
        //check if authenticate && second is condition when we need to redirect i.e, 
         if(Auth::guard($guard)->check() && $request->route()->named('login') ) {
        return redirect()->route('dashboard');
    }

        return $next($request);
    }