RBAC 0 模型
最基本的
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 权限模型的扩展模型
https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html