1. 程式人生 > >java企業級許可權系統開發-核心表設計

java企業級許可權系統開發-核心表設計

  1. 部門表
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`) ) ;
  1. 使用者表
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`) ) ;
  1. 許可權模組表
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`)
)
;
  1. 許可權表
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`)
)
;
  1. 角色表
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`)
)
;
  1. 角色-使用者關聯表
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`)
)
;
  1. 角色-許可權關聯表
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`)
)
;
  1. 許可權相關更新記錄表
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`)
)
;