用户与角色是 多对多的关系;
角色与菜单权限 多对多的关系;
菜单权限表
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`)
)