页面重定向不正确 - Laravel 7
The page isn’t redirecting properly - Laravel 7
我是 laravel 的新手,我实现了不使用 auth: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\Authenticate.php
的代码
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login', app()->getLocale());
}
}
但它给了我错误“路由 [登录] 未定义。”。所以我在 routes/web.php
中添加了代码
Route::get('/users/login', 'UsersController@login')->name('login');
But then it gives me error: The page isn’t redirecting properly
can anybody help, what i am doing wrong or anything else need to do? Thanks.
在您的 redirectTo
方法中,您正在调用路由辅助函数。
它使用路由名称,但您尚未指定它。
您必须通过将 name 方法链接到路由定义来为您的登录路由指定一个名称,例如:
Route::get('/login', 'UsersController@login')->name('login');
我定义了它。但它给了我错误:页面没有正确重定向。我明白了。实际上我定义了'$this->middleware('auth');'在用户控制器中。所以登录方法不公开。并导致了错误。愚蠢的错误。!
我是 laravel 的新手,我实现了不使用 auth: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\Authenticate.php
的代码protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login', app()->getLocale());
}
}
但它给了我错误“路由 [登录] 未定义。”。所以我在 routes/web.php
中添加了代码Route::get('/users/login', 'UsersController@login')->name('login'); But then it gives me error: The page isn’t redirecting properly can anybody help, what i am doing wrong or anything else need to do? Thanks.
在您的 redirectTo
方法中,您正在调用路由辅助函数。
它使用路由名称,但您尚未指定它。
您必须通过将 name 方法链接到路由定义来为您的登录路由指定一个名称,例如:
Route::get('/login', 'UsersController@login')->name('login');
我定义了它。但它给了我错误:页面没有正确重定向。我明白了。实际上我定义了'$this->middleware('auth');'在用户控制器中。所以登录方法不公开。并导致了错误。愚蠢的错误。!