如何使用委托在laravel中使用基于角色的访问

时间:2017-05-17 11:59:58

标签: php laravel laravel-5 routes entrust

我正在使用Laravel 5.4。我想将所有权限分配给' Admin'角色。但员工无法删除或编辑记录。我使用 Entrust 包进行基于角色的权限。

我已为此写过路线,但不幸的是,它不适用于员工。

Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () {

// Route::resource('plotsize', 'plotSizeController');

Route::group(['middleware' => 'role:Employee'], function () {
    Route::resource('plotsize', 'plotSizeController', ['except' => 'edit', 'update', 'delete']);
});

Route::group(['middleware' => 'role:Admin'], function () {
    Route::resource('plotsize', 'plotSizeController');
}); });

这是我尝试的另一种方法,但不幸的是它也没有用。

protected $user;

public function __construct()
{
    $this->middleware(function ($request, $next) {
        if(Auth::user()->hasRole('Admin')){
            $this->middleware('role:Admin');
            return $next($request);
        }

        if(Auth::user()->hasRole('Employee')){
            $this->middleware('role:Employee', ['only' => ['edit', 'update', 'destroy']]);
            return $next($request);
        }

    });
}

如果您给我建议在Laravel中使用政策。我试过了,但我没有得到这个问题。你能为我提供任何一个例子吗?感谢

0 个答案:

没有答案