laravel - 如何按用户角色个性化背包内容?
问题描述
我是背包新手,我想将它用于我的个人项目之一。对于这个项目,我需要有 2 个“管理面板”。第一个是版主(创建/编辑/删除一些资源,但只有他有权使用的资源),第二个是管理员(他可以做他想做的事)。
因此,给定用户角色(管理员或 modo),我不知道(并且在背包文档中没有找到任何内容)如何“个性化”背包内容和操作。
我希望我把我的问题说清楚了。
提前致谢,
解决方案
您可以向不同的用户角色和/或权限显示和隐藏不同的内容。
您需要“弄乱” sidebar_content.blade.php
, 根据用户角色和/或权限显示和隐藏菜单,您可以使用:
@if(!backpack_user()->hasRole('admin'))
...
和/或
@if(!backpack_user()->hasPermissionTo('edit'))
...
这还不够,您需要确保该用户即使没有显示链接也可以访问内容。您在控制器中执行此操作:
@if(!backpack_user()->hasPermissionTo('edit')) {
$this->crud->denyAccess(['update']);
}
这只是一个示例,您可能想要denyAccess
或allowAccess
。['list', 'show', 'create', 'update', 'delete']
推荐阅读
- unix - 如何正确安装 pkg-config?
- arrays - MS、VB、SerialPort、写入/发送数组
- excel - 通过 Excel VBA 取消保护/保护 Word 文档
- reactjs - componentWillUnmount 没有清除超时
- c# - Xamarin.Forms DatePickerCustomRenderer 无法识别 IOnDateSetListener
- python - 如果我们有编辑器,我们在 pycharm(或任何 IDE)中需要什么 python cosole?反之亦然
- python - Python 全局和局部变量:代码是如何工作的?
- python - 如何计算 Tensorflow BigQuery ReadSession 的“对表合理的并行量”?
- azure-data-factory - ADF:如何清除 SQL 中的表?
- cypress - cypress 下载:“cypress run”似乎与“cypress open”相同