RBAC 0 模型

最基本的

RBAC 权限模型

MySQL 脚本,没有建立外键约束。

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info`
(
    `id`       bigint(20) UNSIGNED AUTO_INCREMENT COMMENT '主键 ID',
    `user_id`  varchar(50) NOT NULL COMMENT '用户唯一 ID',
    `username` varchar(50) NOT NULL COMMENT '用户名',
    `passwaod` varchar(32) NOT NULL COMMENT '密码',
    PRIMARY KEY (`id`),
    UNIQUE INDEX `user_id` (`user_id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 0
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '用户信息表';

DROP TABLE IF EXISTS `role_info`;
CREATE TABLE `role_info`
(
    `id`        bigint(20) UNSIGNED AUTO_INCREMENT COMMENT '主键 ID',
    `role_id`   varchar(50) NOT NULL COMMENT '角色 ID',
    `role_pid`  varchar(50) DEFAULT '0' COMMENT '角色父 ID',
    `role_name` varchar(50) NOT NULL COMMENT '角色名',
    `role_code` varchar(50) NOT NULL COMMENT '角色名',
    PRIMARY KEY (`id`),
    UNIQUE INDEX `name` (`role_name`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 0
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '角色信息表';

DROP TABLE IF EXISTS `resources_info`;
CREATE TABLE `resources_info`
(
    `id`                bigint(20) UNSIGNED AUTO_INCREMENT COMMENT '主键 ID',
    `resources_id`      varchar(50) NOT NULL COMMENT '资源 ID',
    `resources_pid`     varchar(50) DEFAULT '0' COMMENT '资源父 ID',
    `resources_name`    varchar(50) NOT NULL COMMENT '名称',
    `resources_pattern` varchar(50) NOT NULL COMMENT '路径',
    `resources_method`  varchar(50) DEFAULT NULL COMMENT '请求方法',
    PRIMARY KEY (`id`),
    UNIQUE INDEX `name` (`resources_name`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 0
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '资源信息表,资源就是 SpringMVC 接口,支持 ANT 风格,尽量具体,不推荐使用通配符';

DROP TABLE IF EXISTS `user_role`;
CREATE TABLE `user_role`
(
    `id`      bigint(20) UNSIGNED AUTO_INCREMENT COMMENT '主键 ID',
    `user_id` varchar(50) NOT NULL COMMENT '用户 ID',
    `role_id` varchar(50) NOT NULL COMMENT '角色 ID',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 0
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '用户与角色关联表,一个用户可以持有多个角色,一个角色在一个用户持有的角色集合中是唯一的';

DROP TABLE IF EXISTS `role_resources`;
CREATE TABLE `role_resources`
(
    `id`           bigint(20) UNSIGNED AUTO_INCREMENT COMMENT '主键 ID',
    `role_id`      varchar(50) NOT NULL COMMENT '角色 ID',
    `resources_id` varchar(50) NOT NULL COMMENT '资源 ID',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 0
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_bin COMMENT = '角色与资源关联表';

 

RBAC 权限模型的扩展模型

RBAC 权限模型

 


https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html

相关文章: