如何根据用户角色个性化背包内容?

时间:2019-03-29 19:27:10

标签: laravel backpack-for-laravel

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

因此,我不知道(也没有在背包文档中找到任何东西),在给定用户角色(管理员或Modo)的情况下,如何“个性化”背包的内容和动作。

希望我能解决我的问题。

预先感谢

1 个答案:

答案 0 :(得分:2)

您可以向不同的用户角色和/或权限显示和隐藏不同的内容。
您需要主要使用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']