我正在使用Laravel 5.2和Zizaco/entrust
5.2.x
如何控制角色对不同路径的访问?
例如:
管理员的路线是这样的:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::group(['prefix' => 'admin','namespace' => 'Admin'], function () {
Route::resource('dashboard', 'DashboardController');
});
});
我希望角色admin
可以访问http://www.example.com/admin/dashboard/
,
其他角色无法访问它,
我该怎么办?
答案 0 :(得分:1)
您可以检查中间件中的管理员角色。由于您使用的是zizaco /委托,您可以使用hasRole检查角色。
在中间件网站中使用此代码。
public function handle($request, Closure $next)
{
if (!$user->hasRole('admin')) {
return redirect('home');//Redirect to any page you wish.
}
}