我正在使用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中使用政策。我试过了,但我没有得到这个问题。你能为我提供任何一个例子吗?感谢