最简单的rbac_权限管理应用案例

1.数据库_表关系

在这里插入图片描述

2.数据库_表结构

  • user
CREATE TABLE `user` (
`id`  int(11) NOT NULL AUTO_INCREMENT ,
`username`  varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`password`  varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`create_time`  datetime NULL DEFAULT '' ,
`salt`  varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=4
ROW_FORMAT=DYNAMIC
;
  • role
CREATE TABLE `role` (
`id`  int(11) NOT NULL ,
`name`  varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`description`  varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '描述' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;
  • user_role
CREATE TABLE `user_role` (
`id`  int(11) NOT NULL ,
`role_id`  int(11) NULL DEFAULT '' ,
`user_id`  int(11) NULL DEFAULT '' ,
`remarks`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;
  • permission
CREATE TABLE `permission` (
`id`  int(11) NOT NULL ,
`name`  varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`url`  varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;
  • role_permission
CREATE TABLE `role_permission` (
`id`  int(11) NOT NULL ,
`role_id`  int(11) NULL DEFAULT '' ,
`permission_id`  int(11) NULL DEFAULT '' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;

3.数据库_多表查询

  • 查询指定用户的角色列表
  • 查询指定角色的权限列表
  • 查询指定用户的权限列表

猜你喜欢

转载自blog.csdn.net/m0_46218511/article/details/105660843
今日推荐