0.关系介绍
用户、角色、部门、岗位关系介绍表
实体 | 关联实体 | 关系类型 | 说明 |
---|---|---|---|
用户 | 角色 | 多对多 | 一个用户可属于多个角色 |
用户 | 部门 | 多对一 | 用户必须归属一个部门 |
用户 | 岗位 | 多对多 | 用户可兼任多个岗位(如部门主管+项目经理) |
部门 | 部门 | 树形自关联 | 父部门下可有多个子部门 |
关系图展示如下:

权限控制流:

1.用户
启动后,我们访问用户菜单,可以看到默认有两个用户,

(1)新增用户
点击新增按钮,就可以新增用户。

在ruoyi自带的sql里面,可以看到创建系统用户表的sql语句。
drop table if exists sys_user;
create table sys_user (
user_id bigint(20) not null auto_increment comment '用户ID',
dept_id bigint(20) default null comment '部门ID',
user_name varchar(30) not null comment '用户账号',
nick_name varchar(30) not null comment '用户昵称',
user_type varchar(2) default '00' comment '用户类型(00系统用户)',
email varchar(50) default '' comment '用户邮箱',
phonenumber varchar(11) default '' comment '手机号码',
sex char(1) default '0' comment '用户性别(0男 1女 2未知)',
avatar varchar(100) default '' comment '头像地址',
password varchar(100) default '' comment '密码',
status char(1) default '0' comment '账号状态(0正常 1停用)',
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
login_ip varchar(128) default '' comment '最后登录IP',
login_date datetime comment '最后登录时间',
pwd_update_date datetime comment '密码最后更新时间',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
primary key (user_id)
) engine=innodb auto_increment=100 comment = '用户信息表';
在每个用户的最右侧的操作栏,有“删除”、“修改”、“重置密码”“分配角色”操作。
(2)修改用户
点哟“修改用户”,修改一个用户信息,然后点击确定,可以看到正常修改了用户的信息。

(3)删除用户
点击“删除”按钮,会有提示框让你确认,确认后,会删除用户信息。

(4)重置密码
用户的密码在数据库中都是加密存储的,比如像下面这样:
$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2
重置密码会覆盖原来的密码,(默认新用户的密码是123456)
修改密码过程如下:

2.角色管理
(1)新增角色
在此次,新增了一个角色,配置上了字符权限,并分配了菜单权限。

如果修改用户属于此角色,那么能访问到此角色相关的菜单。
(2)修改角色
我们可以修改已经存在的角色信息。这个地方显示的非常明显,哪个角色可以访问哪个菜单,勾选上相应的菜单即可。

(3)数据权限功能
在角色管理中,数据权限分为以下类型(通过 sys_role.data_scope
字段配置):
数据权限类型 | 标识值 | 说明 |
---|---|---|
全部数据 | 1 | 用户可查看系统中所有数据(如超级管理员角色) |
本部门数据 | 2 | 用户只能查看所属部门的数据(如部门经理) |
本部门及以下 | 4 | 用户可查看所属部门及其子部门的数据(如分公司负责人) |
仅本人数据 | 3 | 用户只能查看自己的数据(如普通员工) |
自定义数据 | 5 | 用户只能查看指定部门的数据(需手动关联部门到角色) |
操作效果如下:

举个例子:
分公司财务角色
- 配置:
- 数据权限 =
本部门及以下(4)
- 部门结构:
总公司(ID=1) → 上海分公司(ID=101) → 财务部(ID=10101)
- 数据权限 =
- 效果:
该角色用户登录后,可查看上海分公司及其下属所有部门的数据。
3.部门管理
部门表是sys_dept
(1)新增部门
选择上级部门以后,输入一些信息就可以创建新部门了。

部门也可以进行修改和删除。
4.岗位管理
岗位比较简单,数据表是sys_post,新增岗位如下所示

岗位也可以进行删除和修改等操作。