laravel-5.6 - Laravel-'auth' 中间件不起作用
问题描述
我使用 Laravel 5.6.33。我希望用户只有在他/她登录/注册后才能访问“仪表板”页面。当我使用“guest”中间件时,用户根本无法访问该页面,而当我使用“auth”中间件时,用户始终可以访问该页面。我该怎么办?
Route::group(['middleware' => ['web']], function (){
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
});
我也在函数或构造函数中添加$this->middleware('auth');
了,但它不起作用。我该怎么办?getDashboard
UserController
Kernel.php中的auth
地址如下:
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
解决方案
如果您正在使用Laravel 5.6
,则无需使用web
中间件包装您的路由,只要将它们放在routes\web.php
文件中即可。Laravel 在RouteServiceProvider.php
.
出于您的目的,auth
中间件应该可以工作。试试这个,而不是你所拥有的:
Route::middleware('auth')->group(function() {
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard'
]);
});
推荐阅读
- html - 在 IIS 8 中托管带有 mp4 视频的 HTML 页面无法使用主机名
- beacon - 802.11 帧中供应商特定的 OUI 类型是什么意思
- python - 使用numpy将矩阵int值映射到str的有效方法
- .net-core - 测试运行程序找不到 .net core sdk
- android - TextFormField 与现有 android 应用程序中添加的 Flutter 键盘重叠
- c++ - 在宏中使用 __FUNCSIG__ 将其扩展为空
- reactjs - 如何使第一个块与第二个块的高度相同?
- regex - Nginx 匹配变量
- javascript - 在我的代码中,我试图遍历一个对象。这个 Vue js 代码会被认为是“反模式”吗?
- php - SiteOrigin Page Builder 删除“恢复到编辑器”按钮