首页 > 解决方案 > 如何按用户角色个性化背包内容?

问题描述

我是背包新手,我想将它用于我的个人项目之一。对于这个项目,我需要有 2 个“管理面板”。第一个是版主(创建/编辑/删除一些资源,但只有他有权使用的资源),第二个是管理员(他可以做他想做的事)。

因此,给定用户角色(管理员或 modo),我不知道(并且在背包文档中没有找到任何内容)如何“个性化”背包内容和操作。

我希望我把我的问题说清楚了。

提前致谢,

标签: laravellaravel-backpack

解决方案


您可以向不同的用户角色和/或权限显示和隐藏不同的内容。
您需要“弄乱” sidebar_content.blade.php, 根据用户角色和/或权限显示和隐藏菜单,您可以使用:

@if(!backpack_user()->hasRole('admin'))
...

和/或

@if(!backpack_user()->hasPermissionTo('edit'))
...

这还不够,您需要确保该用户即使没有显示链接也可以访问内容。您在控制器中执行此操作:

@if(!backpack_user()->hasPermissionTo('edit')) {
    $this->crud->denyAccess(['update']);
}

这只是一个示例,您可能想要denyAccessallowAccess['list', 'show', 'create', 'update', 'delete']


推荐阅读