Laravel 5.4 Маршрут [логин] не определен - PullRequest
0 голосов
/ 07 ноября 2018

Привет У меня есть следующий маршрут и конструктор в моем контроллере, я хочу проверить, аутентифицирован ли пользователь или нет, если нет, то перенаправить на страницу / warehouse / login. но по некоторым причинам я получаю Route [логин] не определена ошибка.

Я переношу свои функции из Laravel 4.2 в Laravel 5.4

Конструктор:

public function __construct()
    {
        $this->middleware('auth');
        $this->middleware(function ($request, $next) {
            if (!Auth::check()) {
                $url = URL::current();
                $routeName = Route::currentRouteName();

                if ($routeName != "AdminLogin" && $routeName != 'admin') {
                    Session::put('pre_admin_login_url', $url);
                }
                return redirect('/warehouse/login');
            }

            return $next($request);

        }, array('except' => array('WarehouseAdminLogin', 'WarehouseAdminVerify')));


    }

Маршруты:

Route::get('/warehouse', 'WarehouseController@index');
Route::get('/warehouse/login', array('as' => 'WarehouseAdminLogin', 'uses' => 'WarehouseController@login'));

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Вы не определили свою функцию входа в систему.

сделать функцию public function login() {'your code'}

в вашем WarehouseController

0 голосов
/ 07 ноября 2018

Отредактировано : проблема в том, что у вас нет маршрута с именем логин . Эта ошибка вызвана:

$this->middleware('auth');

потому что этот код в auth middleware :

protected function redirectTo($request)
{
    if (! $request->expectsJson()) {
        return route('login');
    }
}

Итак, что нужно сделать, это удалить промежуточное ПО аутентификации и повторить попытку или создать маршрут с именем для входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...