【发布时间】:2017-01-16 11:40:53
【问题描述】:
我有一个视图,只有在数据库中有“role = interviewer”的用户才能访问。我已经创建了中间件并注册了它,但它似乎没有按预期工作。它允许所有用户,无论他们在数据库中存储的角色如何。
这是我的中间件
class Interviewer
{
public function handle($request, Closure $next)
{
if($request->user()->role == "interviewer"){
return $next($request);
}
}
}
不知道方法对不对我也试过了
if($request->\Auth::user()->role == "interviewer")
这个也不行。如果用户没有角色采访者,admin 是它应该限制的视图。这是我的路线
Route::get('/candidates', [
'uses' => 'candidateController@showProfile',
])->middleware('auth','interviewer');
我的路由中间件
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'interviewer'=> \App\Http\Middleware\Interviewer::class,
];
【问题讨论】:
-
你找到解决办法了吗
标签: laravel laravel-5.2 middleware