建表
- 由于咱們的系統(tǒng)比較簡單且權(quán)限要求不臺復(fù)雜,那么我們的表結(jié)構(gòu)也沒必要復(fù)雜了,就新建5個(gè)表就行了
1.用戶表(user)
CREATE TABLE `user` (
`id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`username` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶名',
`password` varchar(50) NOT NULL COMMENT '密碼',
`email` varchar(50) DEFAULT NULL COMMENT '郵箱',
`type` varchar(50) DEFAULT NULL,
`updatetim` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`regdate` datetime DEFAULT NULL,
`is_delete` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=280 DEFAULT CHARSET=utf8 COMMENT='用戶表';
這里存放用戶的基本信息,具體的什么信息可以根據(jù)自己要求來
user表
2.角色表或者叫組表(group)
- 這里要分幾個(gè)組际跪,自己定躏敢;比如普通成員闷愤、管理員
CREATE TABLE `tgroup` (
`tg_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '組id',
`group_name` varchar(50) NOT NULL COMMENT '組名稱',
`parent_tg_id` varchar(50) NOT NULL COMMENT '父組',
`description` varchar(200) DEFAULT NULL COMMENT '組描述',
`createtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
`is_delete` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`tg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='組表';
group表
3.用戶角色關(guān)聯(lián)表
- 規(guī)定用戶是什么角色,就是做個(gè)關(guān)聯(lián)
CREATE TABLE `tusergrouprelation` (
`tug_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '用戶組id',
`tu_id` bigint(10) NOT NULL COMMENT '用戶id',
`tg_id` bigint(10) NOT NULL COMMENT '用戶組id',
PRIMARY KEY (`tug_id`),
KEY `tu_id` (`tu_id`),
KEY `tg_id` (`tg_id`),
CONSTRAINT `tUserGroupRelation_ibfk_1` FOREIGN KEY (`tu_id`) REFERENCES `user` (`id`),
CONSTRAINT `tUserGroupRelation_ibfk_2` FOREIGN KEY (`tg_id`) REFERENCES `tgroup` (`tg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用戶組表';
用戶角色關(guān)聯(lián)表
- 權(quán)限表
- 設(shè)置可發(fā)表權(quán)限,或者管理權(quán)限 件余,也就是設(shè)置幾個(gè)權(quán)限等級
CREATE TABLE `tright` (
`tr_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '權(quán)限id',
`pargent_tr_id` bigint(10) NOT NULL COMMENT '父級權(quán)限id',
`right_name` varchar(50) NOT NULL COMMENT '權(quán)限名稱',
`description` varchar(200) DEFAULT NULL COMMENT '權(quán)限描述',
`createtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
`is_delete` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`tr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='權(quán)限表';
權(quán)限表
5.角色組權(quán)限關(guān)聯(lián)表
- 規(guī)定哪個(gè)角色擁有哪些權(quán)限
CREATE TABLE `tgroupRightRelation` (
`tgr_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '記錄標(biāo)識id',
`tg_id` bigint(10) NOT NULL COMMENT '組id',
`tr_id` bigint(10) NOT NULL COMMENT '權(quán)限id',
`right_type` bigint(10) NOT NULL COMMENT '0:可訪問讥脐,1:可授權(quán)',
PRIMARY KEY (`tgr_id`),
KEY `tr_id` (`tr_id`),
KEY `tg_id` (`tg_id`),
CONSTRAINT `tgroupRightRelation_ibfk_1` FOREIGN KEY (`tr_id`) REFERENCES `tright` (`tr_id`),
CONSTRAINT `tgroupRightRelation_ibfk_2` FOREIGN KEY (`tg_id`) REFERENCES `tgroup` (`tg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='組權(quán)限表';
角色組權(quán)限關(guān)聯(lián)表
@晴-2017-08-29 10:12:16