【发布时间】:2018-02-12 00:36:01
【问题描述】:
我有两种用户类型:操作和维护。 Operations 用户类型的所有路由都可以通过 Maintenance 用户类型访问,但并非 Maintenance 拥有的所有路由都无法通过 Operations 访问。
这是我现有的代码。
Route::group(['middleware'=>'maintenance'], function(){
//routes here
Route::group(['middleware'=>'operations'], function(){
//routes here
});
});
kernel.php
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'revalidate' => \App\Http\Middleware\RevalidateBackHistory::class,
'dev' => \App\Http\Middleware\isDev::class,
'operations' => \App\Http\Middleware\operations::class,
'maintenance' => \App\Http\Middleware\maintenance::class,
];
中间件/操作.php
public function handle($request, Closure $next)
{
$a = UserAccess::where(['employee_id'=>\Auth::user()->id, 'user_type_id'=>1])->first();
if($a){
return $next($request);
}
return redirect('/');
}
但它不起作用。维护可以访问它的所有路线,但无权访问操作,并且操作根本无法访问任何路线。
注意:两个组都在 auth 中间件组内
【问题讨论】:
-
向我们展示您的
app/Http/Kernel.php代码以及您的operations中间件代码 -
@NikolaGavric 代码已被编辑。
标签: php laravel laravel-5.5