Laravel 5 具有相同模型的Laravel保护路由

Laravel 5 具有相同模型的Laravel保护路由,laravel-5,roles,laravel-middleware,Laravel 5,Roles,Laravel Middleware,我更改了users表并放置了一个名为“role”的字段,我想知道是否可以仅通过检查此字段来使用中间件来保护路由。 表用户: 我喜欢这样的东西: 如果用户角色==0 Route::group(['middleware' => 'auth'], function () {}); 如果用户角色==1 Route::group(['middleware' => 'auth:customers'], function () {}); 但是,使用相同的表创建一个新的中间件: php art

我更改了users表并放置了一个名为“role”的字段,我想知道是否可以仅通过检查此字段来使用中间件来保护路由。
表用户:

我喜欢这样的东西:
如果用户角色==0

Route::group(['middleware' => 'auth'], function () {});
如果用户角色==1

Route::group(['middleware' => 'auth:customers'], function () {});

但是,使用相同的表

创建一个新的中间件:

php artisan make:middleware CustomerMiddleware
新中间件中的函数句柄:

    public function handle($request, Closure $next)
{
    if(Auth::check()){
        if($request->user()->role != 0){
            return redirect('/');
        }
    }
    return $next($request);
}
app/Http/Kernel.php中的受保护路由

'CustomerMiddleware' => \App\Http\Middleware\CustomerMiddleware::class,
团体路线:

Route::group(['middleware' => 'CustomerMiddleware'], function () {  });

auth
中间件已经有了一个用于所用保护的参数,例如
auth:web
,因此您需要一个自定义中间件来使用角色来完成此操作。我尝试使用中间件进行身份验证,但我只能使用两个表来完成此操作,例如,一个用于用户,另一个用于创建另一个客户调用表。我要做的是只对users表进行同样的检查。制作一个新的中间件,检查经过身份验证的用户上的字段,您可以将参数传递给middlewareThanks,伙计们。我使用以下命令执行此操作:if(Auth::check()){if($request->user()->role!=0){return redirect('/');}