перенаправление 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';