1、权限表设计
CREATE TABLE `admin_permission` (`permission_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',`pid` int(10) DEFAULT NULL COMMENT '所属上级',`name` varchar(20) DEFAULT NULL COMMENT '名称',`type` tinyint(4) DEFAULT NULL COMMENT '类型(1:目录,2:菜单,3:按钮)',`permission_value` varchar(50) DEFAULT NULL COMMENT '权限值',`uri` varchar(100) DEFAULT NULL COMMENT '路径',`icon` varchar(50) DEFAULT NULL COMMENT '图标',`status` tinyint(4) DEFAULT NULL COMMENT '状态(0:禁止,1:正常)',`ctime` datetime DEFAULT NULL COMMENT '创建时间',`orders` bigint(20) DEFAULT NULL COMMENT '排序',PRIMARY KEY (`permission_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限';
2、角色表设计
CREATE TABLE `admin_role` (`role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',`name` varchar(20) DEFAULT NULL COMMENT '角色名称',`title` varchar(20) DEFAULT NULL COMMENT '角色标题',`description` varchar(1000) DEFAULT NULL COMMENT '角色描述',`ctime` datetime NOT NULL COMMENT '创建时间',`orders` bigint(20) NOT NULL COMMENT '排序',PRIMARY KEY (`role_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色';
3、管理员表设计
CREATE TABLE `admin_user` (`user_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',`username` varchar(20) NOT NULL COMMENT '帐号',`password` varchar(32) NOT NULL COMMENT '密码MD5(密码+盐)',`salt` varchar(32) DEFAULT NULL COMMENT '盐',`realname` varchar(20) DEFAULT NULL COMMENT '姓名',`avatar` varchar(150) DEFAULT NULL COMMENT '头像',`phone` varchar(20) DEFAULT NULL COMMENT '电话',`email` varchar(50) DEFAULT NULL COMMENT '邮箱',`sex` tinyint(4) DEFAULT NULL COMMENT '性别(1:男,2:女)',`locked` tinyint(4) DEFAULT NULL COMMENT '状态(0:正常,1:锁定)',`ctime` datetime DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`user_id`)) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='管理员用户';
4、用户角色关联表
CREATE TABLE `admin_user_role` (`user_role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',`user_id` int(10) unsigned NOT NULL COMMENT '用户编号',`role_id` int(10) DEFAULT NULL COMMENT '角色编号',PRIMARY KEY (`user_role_id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
5、 角色权限关联表
CREATE TABLE `admin_role_permission` (`role_permission_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',`role_id` int(10) unsigned NOT NULL COMMENT '角色编号',`permission_id` int(10) unsigned NOT NULL COMMENT '权限编号',PRIMARY KEY (`role_permission_id`),KEY `FK_Reference_23` (`role_id`),CONSTRAINT `FK_Reference_23` FOREIGN KEY (`role_id`) REFERENCES `admin_role` (`role_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色权限关联表';
6、操作日志表
CREATE TABLE `admin_log` (`log_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',`description` varchar(100) DEFAULT NULL COMMENT '操作描述',`username` varchar(20) DEFAULT NULL COMMENT '操作用户',`start_time` datetime DEFAULT NULL COMMENT '操作时间',`spend_time` datetime DEFAULT NULL COMMENT '消耗时间',`base_path` varchar(500) DEFAULT NULL COMMENT '根路径',`uri` varchar(500) DEFAULT NULL COMMENT 'URI',`url` varchar(500) DEFAULT NULL COMMENT 'URL',`method` varchar(10) DEFAULT NULL COMMENT '请求类型',`parameter` mediumtext,`user_agent` varchar(500) DEFAULT NULL COMMENT '用户标识',`ip` varchar(30) DEFAULT NULL COMMENT 'IP地址',`result` mediumtext,`permissions` varchar(100) DEFAULT NULL COMMENT '权限值',PRIMARY KEY (`log_id`),KEY `log_id` (`log_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';