前言
前面我们搞定了基本的模块内CURD的操作,可以参考之前的文章
- 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(2)
- 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(1)
- 【Laravel】Laravel-admin后台框架-1安装
实战
Laravel-admin 是基于用户的权限管理系统RBAC,并且整个菜单和授权的流程比较自由,我下面的操作流程准确的基于角色权限绑定而不是其他的。
创建权限
业务上我们创建对应的模块,就对应一个权限的名称。如果对于同一个模块,不同角色拥有的操作权限不一致,就创建不同的权限。
建议权限最小化,这样方便后续的不同业务角色对于不同权限的绑定操作。不合理的做法是一个角色绑定一个权限,这个权限内有所有垮模块的操作
我们之前做的模块被叫做记录
,对应路由为record
.那么按最小化,创建的权限也被叫做记录。
创建菜单
菜单的路径对应权限的标识。
当我们创建完菜单之后,就会发现左侧的菜单增加了记录。
由于默认登录用户是超级管理员,有全部的权限,所以能直接访问。
创建角色
之前提到过,每个用户拥有不同的角色,角色下有不同权限,这样就能支持复杂的业务逻辑。
我们创建两个角色,一个用户,可以登录系统,一个编辑,可以修改记录。
创建用户
创建登录用户,如果没有修改配置文件会报错
原因是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',
],
],
用新创建的用户登录
可以看到对应的菜单,并且可以访问。
总结
整体操作流程如下
- 编写模块
- 创建权限
- 创建菜单
- 创建角色绑定权限
- 创建用户绑定角色
当然也可以菜单直接绑定角色和权限,不再赘述。
参考资料
- https://laravel-admin.org/docs/zh/permission