Маршрут входа в панель администратора Laravel 5.7 - PullRequest
0 голосов
/ 06 марта 2019

Я хочу создать панель администратора с аутентификацией как mysite / admin, поэтому с этим руководством https://medium.com/employbl/easily-build-administrator-login-into-a-laravel-5-app-8a942e4fef37 я это сделал, но когда я захожу в mysite / admin, я перенаправляюсь на mysite / login и после успешной аутентификации вижу Страница mysite / admin, но я хочу видеть mysite / admin / login вместо mysite / login после того, как я введу mysite / admin, как я могу это сделать?

Auth::routes();

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

Route::get('/admin', 'AdminController@admin')
    ->middleware('is_admin')
    ->name('admin');

 class AdminController extends Controller
    {
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function admin()
    {
        return view('admin');
    }
}

class IsAdmin
{
    public function handle($request, Closure $next)
    {
        if(auth()->user()->isAdmin()) {
            return $next($request);
        }
    }
}

--- Добавить раздел ---

все, что я хочу, это зарегистрироваться для всех в mysite / register, но войти отдельно для пользователей (и администраторов) в mysite / login и (только) для администраторов mysite / admin / login с промежуточным ПО, проверить, является ли пользователь admin, как описано ранее как я могу это сделать?

Это мои маршруты:

Route::get('/admin', 'AdminController@admin')
    ->middleware('is_admin')
    ->name('admin');
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login/', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

1 Ответ

0 голосов
/ 06 марта 2019

Вы можете использовать префикс Auth :: route (), как показано ниже.

Route::group(['prefix' => 'admin'],function(){
    Auth::routes();
});

Ручная регистрация всех маршрутов. Сначала удалите Auth::routes()

Route::get('admin/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login/', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// Registration Routes...
Route::get('register/', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register/', 'Auth\RegisterController@register');

// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...