页面没有正确重定向 - Laravel 7
Posted
技术标签:
【中文标题】页面没有正确重定向 - Laravel 7【英文标题】:The page isn’t redirecting properly - Laravel 7 【发布时间】:2020-10-10 12:11:04 【问题描述】:我是 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());
但它给了我错误“Route [login] not defined。”。所以我在 routes/web.php 中添加了代码
Route::get('/users/login', 'UsersController@login')->name('login'); 但是它给了我错误:页面没有正确重定向 任何人都可以帮忙,我做错了什么或其他需要做的事情吗?谢谢。
【问题讨论】:
将route()
更改为url()
,因为您没有定义路由。见laravel.com/docs/7.x/urls#urls-for-named-routes
我定义了它。但是它给了我错误:页面没有正确重定向。我得到了这个问题。实际上我定义了'$this->middleware('auth');'在用户控制器中。所以登录方法不公开。并导致错误。愚蠢的错误!
【参考方案1】:
我定义了它。但是它给了我错误:页面没有正确重定向。我得到了这个问题。实际上我定义了'$this->middleware('auth');'在用户控制器中。所以登录方法不公开。并导致错误。愚蠢的错误!
【讨论】:
【参考方案2】:在您的redirectTo
方法中,您正在调用路由辅助函数。
它使用路由名称,但您没有指定它。
您必须通过将 name 方法链接到路由定义上来为您的登录路由指定一个名称,例如:
Route::get('/login', 'UsersController@login')->name('login');
【讨论】:
以上是关于页面没有正确重定向 - Laravel 7的主要内容,如果未能解决你的问题,请参考以下文章