Laravel 5.2和`Zizaco /委托`:如何控制角色对不同路径的访问?

时间:2016-04-25 17:46:57

标签: php laravel

我正在使用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/
其他角色无法访问它, 我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以检查中间件中的管理员角色。由于您使用的是zizaco /委托,您可以使用hasRole检查角色。

在中间件网站中使用此代码。

 public function handle($request, Closure $next)
    {
        if (!$user->hasRole('admin')) {
            return redirect('home');//Redirect to any page you wish.
        }
    }