【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac

前言

前面我们搞定了基本的模块内CURD的操作,可以参考之前的文章

  • 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(2)
  • 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(1)
  • 【Laravel】Laravel-admin后台框架-1安装

实战

Laravel-admin 是基于用户的权限管理系统RBAC,并且整个菜单和授权的流程比较自由,我下面的操作流程准确的基于角色权限绑定而不是其他的。

创建权限

业务上我们创建对应的模块,就对应一个权限的名称。如果对于同一个模块,不同角色拥有的操作权限不一致,就创建不同的权限。

建议权限最小化,这样方便后续的不同业务角色对于不同权限的绑定操作。不合理的做法是一个角色绑定一个权限,这个权限内有所有垮模块的操作

我们之前做的模块被叫做记录,对应路由为record.那么按最小化,创建的权限也被叫做记录。

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第1张图片

创建菜单

菜单的路径对应权限的标识。
【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第2张图片
当我们创建完菜单之后,就会发现左侧的菜单增加了记录。

由于默认登录用户是超级管理员,有全部的权限,所以能直接访问。

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第3张图片

创建角色

之前提到过,每个用户拥有不同的角色,角色下有不同权限,这样就能支持复杂的业务逻辑。

我们创建两个角色,一个用户,可以登录系统,一个编辑,可以修改记录。

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第4张图片
【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第5张图片

创建用户

创建登录用户,如果没有修改配置文件会报错

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第6张图片
原因是admin的配置文件系统默认是admin,但是文件系统配置里没有admin,改成默认的local即可

config/admin.php

    /*
    |--------------------------------------------------------------------------
    | Laravel-admin upload setting
    |--------------------------------------------------------------------------
    |
    | File system configuration for form upload files and images, including
    | disk and upload path.
    |
    */
    'upload' => [

        // Disk in `config/filesystem.php`.
        'disk' => 'local', //默认是admin

        // Image and file upload path under the disk above.
        'directory' => [
            'image' => 'images',
            'file'  => 'files',
        ],
    ],

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第7张图片

用新创建的用户登录

【Laravel】Laravel-admin后台框架-3配置菜单 用户 权限 rbac_第8张图片
可以看到对应的菜单,并且可以访问。

总结

整体操作流程如下

  • 编写模块
  • 创建权限
  • 创建菜单
  • 创建角色绑定权限
  • 创建用户绑定角色

当然也可以菜单直接绑定角色和权限,不再赘述。

参考资料

  • https://laravel-admin.org/docs/zh/permission

你可能感兴趣的:(#,PHP问题集锦)