Laravel Backpack中如何为ReviseOperation配置权限访问控制?
解决Backpack ReviseOperation权限控制问题
直接通过操作标识控制权限
ReviseOperation对应的操作标识是revise,你可以像控制list、create操作一样,在CrudController的setup()方法里添加权限判断:
// 限制只有拥有revise-operation权限的用户才能访问修订记录 if (!backpack_user()->can('revise-operation')) { CRUD::denyAccess('revise'); }
没有对应权限的用户会直接看不到修订记录的入口,也无法通过URL直接访问修订页面。
重载操作设置方法做精细化控制
如果需要在修订操作的专属配置里加权限逻辑,可以在CrudController中重载setupReviseOperation()方法:
use Backpack\ReviseOperation\ReviseOperation; class YourCrudController extends CrudController { use ReviseOperation; // ...其他业务代码 protected function setupReviseOperation() { // 先执行插件默认的初始化逻辑 parent::setupReviseOperation(); // 加入权限判断 if (!backpack_user()->can('revise-operation')) { CRUD::denyAccess('revise'); } } }
注意事项
- 要确保你的权限系统中已经创建并正确分配了
revise-operation权限到目标用户/角色; - 两种方法核心都是通过Backpack的
denyAccess禁用revise操作,按需选择即可。
内容的提问来源于stack exchange,提问作者saycookie
相关产品推荐
相关产品推荐

