Machez
@Machez
Бу!

Как полностью вынести авторизацию в Laravel 5.5 на префикс?

Подключил на сайт механизм авторизации

php artisan make:auth


По-умолчанию все экшены login, logout, home и т.п. висят на первом уровне иерархии URL. А надо их вынести на уровень /user/, т.е. /user/login, /user/logout, /user/home и т.п. Для этого применяю группу...

Route::group( ['middleware' => ['web'] ], function () {

Route::group(['prefix' => 'user', 'middleware' => ['auth']], function () {

Route::get('/home', 'HomeController@index')->name('home');

});

});


Но префикс срабатывает для экшена home, а вот остальные остаются на прежнем уровне. Т.е. указав /user/home меня переадресует на /login (т.к. я не авторизован). Где и как нужно править эти роуты?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
rammtw
@rammtw
Press CTRL+S to save project
Route::group(['prefix' => 'user'], function () {
    Auth::routes();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
chupacabramiamor
@chupacabramiamor
Инженегр-программист
Попробуй так:
Route::group( ['middleware' => ['web'] ], function () {
    Route::group(['prefix' => 'user'], function () {
        Route::get('/login', 'HomeController@login')->name('login');
        Route::group(['middleware' => ['auth']], function(){
            Route::get('/home', 'HomeController@index')->name('home');
            Route::get('/logout', 'HomeController@logout')->name('logout');
        });
    });
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы