课程名称:SpringBoot+Vue3 项目实战,打造企业级在线办公系统
课程章节: 用户管理模块
课程讲师: 神思者
课程内容:
1. 有条件查询分页记录
在角色管理页面上,除了要展示角色记录的基本信息之外,还要统计角色拥有的权限数量和关联的用户数量,这就需要用到统计函数了,SQL语句进行处理就能查询出来有条件的分页记录。
2. 添加角色记录
添加角色的时候,要在弹窗页面中填写角色的基本信息,然后还要在穿梭框里面选择角色拥有哪些权限
that.dataForm.permissions.join() != that.oldPermissions.join()这个表达式比较的是用户选择的权限是否等于角色原来拥有的权限。如果不一致,说明用户修改了角色关联的权限,需要往dataForm中添加一个changed变量通知后端程序有没有修改权限。后端的Java代码也会根据这个changed值判断要不要踢用户下线。
3. 修改角色信息
项目中内置了若干角色,这些角色都含有默认的权限。用户修改这些内置角色的时候,只能给它们扩展更多的权限,但是决不能取消默认的权限。在手册中我讲了如何生成穿梭框左侧的数组和右侧的数组,让穿梭框中某些选中的选项不能被取消
提交Ajax请求的时候,前端页面要判断用户是都改动了角色拥有的权限,并告知给后端的Web方法,因为后端程序要根据这个标志位来决定是否踢用户下线。
在tb_role数据表里面有两个字段我要特殊说明一下,permissions字段是JSON格式的,用来记录角色关联了哪些权限。由于有些角色是系统内置的,它包含初始的一些权限,这些初始权限保存在default_permissions字段里面
4. 删除角色记录
删除角色要非常慎重,因为弄不好系统就会崩溃。比如说你把超级管理员角色删除了,将来谁能管理Emos系统呢?还有就是你把系统内置的角色删除了,将来谁来审批工作流。所以系统内置的角色一律不准删除,能删除的都是非内置角色。即便是非内置角色,删除之前还要判断是否关联了用户,关联了用户的角色是不能删除的。