Страница не перенаправляется должным образом - Laravel 7 - PullRequest
1 голос
/ 20 июня 2020

Я новичок в laravel, и я реализовал вход без авторизации: make. теперь я реализую аутентификацию (без входа никто не может получить доступ к каким-либо страницам).

This is my routes/web.php
Route::group(['prefix' => '{locale}', 'middleware' => 'setlocale'], function() {
    Route::get('/', 'UsersController@dashboard');
    Route::get('/users', 'UsersController@index');
    Route::get('/users/index', 'UsersController@index');
    Route::get('/login', 'UsersController@login');
    Route::get('/users/login', 'UsersController@login');
    //Route::get('/users/login', 'UsersController@login')->name('login');
    Route::get('/users/logout', 'UsersController@logout');

   Route::resources([
        'users' => 'UsersController',
    ]);
});

Я добавил приведенный ниже код в свой UsersController

public function __construct() {
        $this->middleware('auth');
}

Ниже приведен код Middleware \ Аутентифицировать. php

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

Но это дало мне ошибку «Маршрут [логин] не определен.». поэтому я добавил код в routes / web. php

Route :: get ('/ users / login', 'UsersController@login') -> name ('login'); Но тогда это дает мне ошибку: страница не перенаправляется должным образом, может ли кто-нибудь помочь, что я делаю неправильно или что-то еще нужно сделать? Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 июня 2020

Я это определил. Но тогда это дает мне ошибку: страница не перенаправляется должным образом. У меня проблема. на самом деле я определил '$ this-> middleware (' auth ');' в userscontroller. поэтому метод входа в систему не был общедоступным. и вызвал ошибку. глупая ошибка.!

0 голосов
/ 22 июня 2020

В вашем методе redirectTo вы вызываете вспомогательную функцию маршрута. Он использует имя маршрута, но вы его не указали.

Вы должны указать имя для своего маршрута входа, связав метод name с определением маршрута, например:

Route::get('/login', 'UsersController@login')->name('login');
...