sa-plus 框架开发教程 之 新增菜单及权限配置
一、权限设计思想
一个权限管理系统,无非就是三大块:用户、角色、权限。
- 用户:不用多说,很好理解。
- 角色:拥有相同权限的用户集合。
- 权限:对某个操作的控制,例如菜单,按钮等,说的正式一点就是资源。可以简单的理解为对Controller的访问控制。
二、sa-plus 权限设计表分析
我们观察一下表的设计:
可以很容易找到权限设计三大块对应的表:
- 用户表:sp_admin
- 角色表:sp_role
- 权限表:sp_role_permission
三个表的管理关系通过分析数据可以得出结果。
-
用户表无需多说,主要保存用户的基本信息,例如,id,登录名,密码,性别等等。
-
角色表:数据也是很简单。每个字段见名知义。
-
权限表:同样很简单。权限表里最关键的就是**
permission_code
**这个字段,该字段才是真正进行控制的资源标识。
三、permission_code来源
每个权限管理系统,权限控制的资源标识都有不同的来源和不同的含义。但是设计思想是不变的,无非就是对前台页面上某个操作的标识。
对于sa-plus也是我们通过源码来分析.
首相我们登录系统,查看“菜单列表”的内容:
发现菜单列表中没有新增菜单的操作(一般权限管理系统都是可以前台增加菜单),这就可以隐约的猜到sa-plus的菜单应该是手动维护到数据库或者文件中的。有开发经验的开发者应该很快就可以判断这里的菜单列表应该维护在js文件中。所以我们到js中搜索一下。
通过以上截图,可以很清晰看到我们的猜想是正确的。
到这里我们可以简单的总结一下:在sa-plus中新增菜单的流程。
- 在sa-resources\menu-list-sp.js中增加菜单配置。
- 登录系统查看“菜单列表”是否有新增的菜单。
- 打开“角色列表->分配权限”进行权限分配。
s中增加菜单配置。
2. 登录系统查看“菜单列表”是否有新增的菜单。
3. 打开“角色列表->分配权限”进行权限分配。
到此一个菜单的配置及授权就算完成了,接下来的工作就是疯狂的实现你的菜单页面啦。。。。。。