用户与角色是 多对多的关系;
角色与菜单权限 多对多的关系;
菜单权限表
create table acl_permission (`id` char(19) not null DEFAULT '' COMMENT '编号',`pid` CHAR(19) not null DEFAULT '' COMMENT '所属上级',`name` VARCHAR(20) not NULL DEFAULT '' COMMENT '名称',`type` TINYINT(3) not NULL DEFAULT '0' COMMENT '类型(1:菜单,2:按钮)',`permission_value` VARCHAR(50) DEFAULT NULL COMMENT '权限值',`path` VARCHAR(100) DEFAULT NULL COMMENT '访问路径',`component` VARCHAR(100) DEFAULT NULL COMMENT '组件路径',`icon` VARCHAR(50) DEFAULT NULL COMMENT '图标',`status` TINYINT(4) DEFAULT NULL COMMENT '状态:0禁止,1正常',`is_deleted` TINYINT(1) UNSIGNED not NULL DEFAULT '0' COMMENT '逻辑删除 1true已删除, 0false未删除',`gmt_create` date DEFAULT NULL COMMENT '创建时间',`gmt_update` date DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`),KEY `idx_pid` (`pid`)
)
INSERT INTO `acldb`.`acl_permission`(`id`, `pid`, `name`, `type`, `permission_value`, `path`, `component`, `icon`, `status`, `is_deleted`, `gmt_create`, `gmt_update`) VALUES ('1', '0', '全部数据', 0, NULL, NULL, NULL, NULL, NULL, 0, '2024-05-11', '2024-05-11');
角色表
create table acl_role (`id` char(19) not null DEFAULT '' COMMENT '编号',`role_name` VARCHAR(20) not NULL DEFAULT '' COMMENT '角色名称',`role_code` VARCHAR(20) DEFAULT NULL COMMENT '角色编码',`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',`is_deleted` TINYINT(1) UNSIGNED not NULL DEFAULT '0' COMMENT '逻辑删除 1true已删除, 0false未删除',`gmt_create` date DEFAULT NULL COMMENT '创建时间',`gmt_update` date DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`)
)
角色与菜单权限关联表
create table acl_role_permission (`id` char(19) not null DEFAULT '',`role_id` char(19) not null DEFAULT '',`permission_id` char(19) not null DEFAULT '',`is_deleted` TINYINT(1) UNSIGNED not NULL DEFAULT '0' COMMENT '逻辑删除 1true已删除, 0false未删除',`gmt_create` date DEFAULT NULL COMMENT '创建时间',`gmt_update` date DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`)
)
用户表
create table acl_user (`id` char(19) not null DEFAULT '',`username` VARCHAR(20) not NULL DEFAULT '' COMMENT '用户名',`password` VARCHAR(50) not NULL DEFAULT '' COMMENT '密码',`nick_name` VARCHAR(20) DEFAULT NULL COMMENT '名字',`salt` VARCHAR(50) DEFAULT NULL COMMENT '盐',`token` VARCHAR(50) DEFAULT NULL COMMENT 'token',`is_deleted` TINYINT(1) UNSIGNED not NULL DEFAULT '0' COMMENT '逻辑删除 1true已删除, 0false未删除',`gmt_create` date DEFAULT NULL COMMENT '创建时间',`gmt_update` date DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`)
)
用户与角色关联表
create table acl_user_role (`id` char(19) not null DEFAULT '',`role_id` char(19) not NULL DEFAULT '' COMMENT '角色id',`user_id` char(19) not NULL DEFAULT '' COMMENT '用户id',`is_deleted` TINYINT(1) UNSIGNED not NULL DEFAULT '0' COMMENT '逻辑删除 1true已删除, 0false未删除',`gmt_create` date DEFAULT NULL COMMENT '创建时间',`gmt_update` date DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`id`)
)