建表
由于咱们的系统比较简单且权限要求不台复杂,那么我们的表结构也没必要复杂了,就新建5个表就行了
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='用户表';
这里存放用户的基本信息,具体的什么信息可以根据自己要求来
user表
2.角色表或者叫组表(group)
这里要分几个组,自己定;比如普通成员、管理员
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 '创建时间',
`is_delete` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`tg_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='组表';
group表
3.用户角色关联表
规定用户是什么角色,就是做个关联
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='用户组表';
用户角色关联表
权限表
设置可发表权限,或者管理权限 ,也就是设置几个权限等级
CREATE TABLE `tright` (
`tr_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '权限id',
`pargent_tr_id` bigint(10) NOT NULL COMMENT '父级权限id',
`right_name` varchar(50) NOT NULL COMMENT '权限名称',
`description` varchar(200) DEFAULT NULL COMMENT '权限描述',
`createtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`is_delete` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`tr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='权限表';
权限表
5.角色组权限关联表
规定哪个角色拥有哪些权限
CREATE TABLE `tgroupRightRelation` (
`tgr_id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '记录标识id',
`tg_id` bigint(10) NOT NULL COMMENT '组id',
`tr_id` bigint(10) NOT NULL COMMENT '权限id',
`right_type` bigint(10) NOT NULL COMMENT '0:可访问,1:可授权',
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='组权限表';
角色组权限关联表
@晴-2017-08-29 10:12:16