Переадресация 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'.
Ответы
Ответ 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);
}