Я использую laravel 5.1.8. Я делаю систему регистрации / регистрации. Я создал контроллер с именем AdminController и защитил его промежуточным программным обеспечением.
но я использую authController по умолчанию laravel, методы и классы которого расположены в разных местах. где маршруты:
Route::Controllers([ 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController' ]); get('admin', 'AdminController@index'); get('profile', 'AdminController@profile'); get('article', 'AdminController@article');
пользователи не могут получить доступ к AdminController без входа в систему. его перенаправляют на страницу входа. но я хочу, если зарегистрированный пользователь набрал адрес страницы входа или регистрации в адресной строке браузера, страница будет перенаправлена на AdminController.
когда я пытаюсь это сделать, он ищет «/ home» и дает ошибки. Я хочу сделать это / admin.
перейдите в App\Http\Middleware\RedirectIfAuthenticated
затем измените его с
public function handle($request, Closure $next) { if ($this->auth->check()) { return redirect('/home'); } return $next($request); }
в
public function handle($request, Closure $next) { if ($this->auth->check()) { return redirect('/admin'); } return $next($request); }
Добавьте это в свой AuthController
:
protected $redirectTo = '/admin';
Это сообщает всем методам перенаправления в различных чертах перенаправление туда вместо /home
.
когда пользователь успешно аутентифицирован, они будут перенаправлены на URI дома, и вам нужно будет зарегистрировать маршрут для обработки. Вы можете настроить местоположение перенаправления после аутентификации, указав свойство redirectPath на AuthController:
protected $ redirectPath = '/ dashboard';