问题
权限管理系统中每个用户都会被分配不同的权限,这些权限决定了用户是否能进入页面和访问后台的数据,而权限存在级别的区分(这里一般指用户是否能进入页面的权限,数据接口权限已不存在级别区分),比如
- 系统管理(一级)
- 部门管理(二级)
- 部门列表(三级)
- 权限管理(二级)
- 权限列表(三级)
- 角色列表(三级)
- 用户管理(二级)
- 用户列表(三级)
- 部门管理(二级)
那么,如果要向前端返回这样的权限树,该如何做呢?
数据库设计
数据库中对用户-权限的设计思路一般就是用户、角色、权限三个表和用户-角色、角色-权限两个关系表,这里只给出权限表的设计
CREATE TABLE `sys_function_module` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`fm_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限名称',
`fm_path` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '权限路径',
`fm_parent` int(11) NOT NULL COMMENT '父权限id',
PRIMARY KEY (`id`) USING BTREE