Laravel- 'auth' 中间件不工作
Laravel- 'auth' middleware not work
我用Laravel 5.6.33。我希望用户只有在 he/she 签署 In/Up 后才能访问 'dashboard' 页面。当我使用 'guest' 中间件时,用户根本无法访问该页面,而当我使用 'auth' 中间件时,用户始终可以访问该页面。我该怎么办?
Route::group(['middleware' => ['web']], function (){
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
});
我还在 getDashboard
函数或 UserController
的构造函数中添加了 $this->middleware('auth');
,但它不起作用。我该怎么办?
在Kernel.phpauth
地址如下:
'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'
]);
});
你什么都不用做。
- 只需添加以下代码即可。
Route::group(['middleware'=>'auth'],function () {
//you can create the list of the url or the resource here to block the unath users.
Route::resource('brands', 'BrandController');
Route::resource('products', 'ProductController');
});
或者在你想屏蔽的控制器上使用构造函数。
public function __construct()
{
$this->middleware('auth');
}
它将阻止该控制器上的所有功能,如索引、创建、存储、更新、删除。只有 auth 可以使用这些功能。
我用Laravel 5.6.33。我希望用户只有在 he/she 签署 In/Up 后才能访问 'dashboard' 页面。当我使用 'guest' 中间件时,用户根本无法访问该页面,而当我使用 'auth' 中间件时,用户始终可以访问该页面。我该怎么办?
Route::group(['middleware' => ['web']], function (){
Route::get('/dashboard', [
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
});
我还在 getDashboard
函数或 UserController
的构造函数中添加了 $this->middleware('auth');
,但它不起作用。我该怎么办?
在Kernel.phpauth
地址如下:
'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'
]);
});
你什么都不用做。
- 只需添加以下代码即可。
Route::group(['middleware'=>'auth'],function () { //you can create the list of the url or the resource here to block the unath users. Route::resource('brands', 'BrandController'); Route::resource('products', 'ProductController'); });
或者在你想屏蔽的控制器上使用构造函数。
public function __construct()
{
$this->middleware('auth');
}
它将阻止该控制器上的所有功能,如索引、创建、存储、更新、删除。只有 auth 可以使用这些功能。