【发布时间】:2021-10-02 16:40:31
【问题描述】:
我需要向具有不同角色的用户授予对一个资源的操作的访问权限。
我尝试了以下方法,但在 web.php 路由文件中没有运气:
- Route::resource('trampas', 'TrampaController')->middleware('role:Administrador|Supervisor'); //访问所有操作
- Route::resource('trampas', 'TrampaController')->middleware('role:Monitoreador|Coordinador')->only('index', 'show');
但是当我声明第二行时,第一行被取消了。
在控制器的构造方法中声明时也会发生同样的事情:
- $this->middleware('role:Administrador');
- $this->middleware('role:Coordinador')->only('index','show');
最后一行权限为准。
有什么想法吗?
【问题讨论】:
-
Laravel 5.8 和 Spatie v3
-
您可能也可以在路线中执行此操作;由于路线是有序的,您可以将
only放在顶部。如果您需要 4 个角色,则需要在答案中添加它们。
标签: laravel permissions resources roles laravel-permission