java企業級許可權系統開發-核心表設計
阿新 • • 發佈:2019-02-13
- 部門表
CREATE TABLE `sys_dept` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '部門id' ,
`name` varchar(20) NOT NULL COMMENT '部門名稱' ,
`parent_id` int NOT NULL DEFAULT 0 COMMENT '上級部門id' ,
`level` varchar(200) NOT NULL DEFAULT '' COMMENT '部門層級' ,
`seq` int NOT NULL DEFAULT 0 COMMENT '部門在當前層級下的順序。由小到大排序' ,
`remark` varchar(200) NULL DEFAULT ' ' COMMENT '備註' ,
`operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' ,
`operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最後一次操作時間' ,
`operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最後一次更新操作者ip' ,
PRIMARY KEY (`id`)
)
;
- 使用者表
CREATE TABLE `NewTable` (
`id` int NOT NULL AUTO_INCREMENT COMMENT ' user id' ,
`username` varchar(20) NOT NULL DEFAULT '' COMMENT '使用者名稱字' ,
`telephone` varchar(13) NOT NULL DEFAULT '' COMMENT '聯絡方式' ,
`mail` varchar(20) NOT NULL DEFAULT '' COMMENT '郵箱' ,
`password` varchar(40) NOT NULL DEFAULT '' COMMENT '密碼' ,
`dept_id` int NOT NULL DEFAULT 0 COMMENT '部門id' ,
`status` int NOT NULL COMMENT ' 使用者狀態' ,
`remark` varchar(200) NULL DEFAULT '' COMMENT '備註' ,
`operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' ,
`operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP COMMENT '最後一次操作時間' ,
`operator_ip` varchar(20) NOT NULL ,
PRIMARY KEY (`id`)
)
;
- 許可權模組表
CREATE TABLE `sys_acl_module` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '許可權id' ,
`name` varchar(20) NOT NULL COMMENT '許可權名稱' ,
`parent_id` int NOT NULL DEFAULT 0 COMMENT '上級許可權id' ,
`level` varchar(200) NOT NULL DEFAULT '' COMMENT '許可權層級' ,
`seq` int NOT NULL DEFAULT 0 COMMENT '許可權在當前層級下的順序。由小到大排序' ,
`status` int NOT NULL DEFAULT 0 COMMENT '1表示可用,0表示失效' ,
`remark` varchar(200) NULL DEFAULT '' COMMENT '備註' ,
`operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' ,
`operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '最後一次操作時間' ,
`operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最後一次更新操作者ip' ,
PRIMARY KEY (`id`)
)
;
- 許可權表
CREATE TABLE `sys_acl` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '許可權id' ,
`code` varchar(20) NOT NULL DEFAULT '' COMMENT '許可權碼' ,
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '許可權名稱' ,
`acl_module_id` int NOT NULL DEFAULT 0 COMMENT '許可權所在模組的id' ,
`url` varchar(100) NOT NULL DEFAULT '' COMMENT '請求的url,可用填正則表示式' ,
`type` int NOT NULL DEFAULT 1 COMMENT '型別1:選單;2:按鈕;3:其他' ,
`status` int NOT NULL DEFAULT 1 COMMENT '狀態:1:正常;2:凍結' ,
`seq` int NOT NULL COMMENT '許可權在當前模組下的順序' ,
`remark` varchar(200) NULL DEFAULT '' COMMENT '備註' ,
`operator` varchar(20) NOT NULL DEFAULT '' COMMENT '操作者' ,
`operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP COMMENT '最後操作時間' ,
`operator_ip` varchar(20) NOT NULL DEFAULT '' COMMENT '最後操作者的ip' ,
PRIMARY KEY (`id`)
)
;
- 角色表
CREATE TABLE `sys_role` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '角色id' ,
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '角色名稱' ,
`type` int NOT NULL DEFAULT 2 COMMENT '角色型別1:管理員。2:其他使用者' ,
`status` int NOT NULL DEFAULT 1 COMMENT '狀態:1:正常;2:凍結' ,
`remark` varchar(200) NULL DEFAULT '' COMMENT '備註' ,
`operator` varchar(20) NOT NULL DEFAULT '' ,
`operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP ,
`opeator_ip` varchar(20) NOT NULL DEFAULT '' ,
PRIMARY KEY (`id`)
)
;
- 角色-使用者關聯表
CREATE TABLE `sys_role_user` (
`id` int NOT NULL AUTO_INCREMENT ,
`role_id` int NOT NULL COMMENT '角色id' ,
`user_id` int NOT NULL COMMENT '使用者id' ,
`operator` varchar(20) NOT NULL ,
`operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP ,
`operator_ip` varchar(20) NOT NULL ,
PRIMARY KEY (`id`)
)
;
- 角色-許可權關聯表
CREATE TABLE `sys_role_acl` (
`id` int NOT NULL AUTO_INCREMENT ,
`role_id` int NOT NULL COMMENT '角色id' ,
`acl_id` int NOT NULL COMMENT '許可權id' ,
`operator` varchar(20) NOT NULL ,
`operator_time` datetime NOT NULL DEFAULT now() ON UPDATE CURRENT_TIMESTAMP ,
`operator_ip` varchar(20) NOT NULL ,
PRIMARY KEY (`id`)
)
;
- 許可權相關更新記錄表
CREATE TABLE `sys_log` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id' ,
`type` int NOT NULL DEFAULT 0 COMMENT '許可權更新的型別:1:部門;2:使用者;3:許可權模組;4:許可權;5:角色;6:角色使用者關係;7:角色許可權關係;' ,
`target_id` int NOT NULL COMMENT '基於type指定的物件id,比如使用者、角色、許可權表的主鍵' ,
`old_value` text NOT NULL ,
`new_value` text NOT NULL ,
`operator` varchar(255) NOT NULL ,
`operator_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP ,
`operator_ip` varchar(255) NOT NULL ,
`status` int NOT NULL COMMENT '當前是否復原過0:沒有;1:有' ,
PRIMARY KEY (`id`)
)
;