用戶與角色是 多對多的關系;
角色與菜單權限 多對多的關系;?
菜單權限表
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`)
)