• RBAC权限管理系统数据模型


    懒得多写了,懂的看建表脚本就懂了。。。
    
    -- ----------------------------
    -- Table structure for ucb_user
    -- ----------------------------
    DROP TABLE IF EXISTS `ucb_user`;
    CREATE TABLE `ucb_user` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `user_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '用户类型:0、未定义;1、内部用户;2、合作方用户;3、外部用户',
      `source` tinyint(3) DEFAULT '0' COMMENT '来源',
      `code` varchar(8) DEFAULT NULL COMMENT '用户编码',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `account` varchar(64) NOT NULL COMMENT '登录账号',
      `mobile` varchar(32) DEFAULT NULL COMMENT '手机号',
      `email` varchar(64) DEFAULT NULL COMMENT '电子邮箱',
      `union_id` varchar(128) DEFAULT NULL COMMENT '微信UnionID',
      `password` varchar(256) NOT NULL DEFAULT 'e10adc3949ba59abbe56e057f20f883e' COMMENT '密码(RSA加密)',
      `paypw` char(32) DEFAULT NULL COMMENT '支付密码(MD5)',
      `head_img` varchar(256) DEFAULT NULL COMMENT '用户头像',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `setting` json DEFAULT NULL COMMENT '配置信息',
      `invite_code` varchar(32) DEFAULT NULL COMMENT '邀请码',
      `inviter` varchar(64) DEFAULT NULL COMMENT '邀请人',
      `inviter_id` char(32) DEFAULT NULL COMMENT '邀请人ID',
      `is_builtin` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
      `is_invalid` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否失效:0、有效;1、失效',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucb_user_code` (`code`) USING BTREE,
      KEY `idx_ucb_user_invite_code` (`invite_code`) USING BTREE,
      UNIQUE KEY `idx_ucb_user_account` (`account`) USING BTREE,
      UNIQUE KEY `idx_ucb_user_mobile` (`mobile`) USING BTREE,
      UNIQUE KEY `idx_ucb_user_email` (`email`) USING BTREE,
      UNIQUE KEY `idx_ucb_user_union_id` (`union_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户表';
    
    -- ----------------------------
    -- Table structure for ucg_group
    -- ----------------------------
    DROP TABLE IF EXISTS `ucg_group`;
    CREATE TABLE `ucg_group` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `is_builtin` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucg_group_tenant_id` (`tenant_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户组表';
    
    -- ----------------------------
    -- Table structure for ucg_group_member
    -- ----------------------------
    DROP TABLE IF EXISTS `ucg_group_member`;
    CREATE TABLE `ucg_group_member` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `group_id` char(32) NOT NULL COMMENT '用户组ID',
      `user_id` char(32) NOT NULL COMMENT '用户ID',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucg_group_member_group_id` (`group_id`) USING BTREE,
      KEY `idx_ucg_group_member_user_id` (`user_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户组成员表';
    
    -- ----------------------------
    -- Table structure for uco_org
    -- ----------------------------
    DROP TABLE IF EXISTS `uco_org`;
    CREATE TABLE `uco_org` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `parent_id` char(32) DEFAULT NULL COMMENT '父级ID',
      `node_type` tinyint(3) unsigned DEFAULT NULL COMMENT '节点类型:0、机构;1、部门;2、职位',
      `index` tinyint(3) unsigned NOT NULL COMMENT '序号',
      `code` varchar(8) DEFAULT NULL COMMENT '编码',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `alias` varchar(64) DEFAULT NULL COMMENT '简称',
      `full_name` varchar(128) DEFAULT NULL COMMENT '全称',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `is_invalid` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否失效:0、有效;1、失效',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      UNIQUE KEY `idx_uco_org_code` (`code`) USING BTREE,
      KEY `idx_uco_org_tenant_id` (`tenant_id`) USING BTREE,
      KEY `idx_uco_org_parent_id` (`parent_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='组织机构表';
    
    -- ----------------------------
    -- Table structure for uco_org_member
    -- ----------------------------
    DROP TABLE IF EXISTS `uco_org_member`;
    CREATE TABLE `uco_org_member` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `org_id` char(32) NOT NULL COMMENT '职位ID(组织机构表ID)',
      `user_id` char(32) NOT NULL COMMENT '用户ID(用户表ID)',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_uco_org_member_org_id` (`org_id`) USING BTREE,
      KEY `idx_uco_org_member_user_id` (`user_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='职位成员表';
    
    -- ----------------------------
    -- Table structure for ucs_application
    -- ----------------------------
    DROP TABLE IF EXISTS `ucs_application`;
    CREATE TABLE `ucs_application` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `index` int(11) unsigned NOT NULL COMMENT '序号',
      `name` varchar(64) NOT NULL COMMENT '应用名称',
      `alias` varchar(64) NOT NULL COMMENT '应用简称',
      `icon` varchar(128) DEFAULT NULL COMMENT '应用图标',
      `host` varchar(128) DEFAULT NULL COMMENT '应用域名',
      `token_life` int(10) unsigned NOT NULL DEFAULT '24' COMMENT '令牌生命周期(毫秒)',
      `is_signin_one` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否单点登录:0、允许多点;1、单点登录',
      `is_auto_refresh` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否自动刷新:0、手动刷新;1、自动刷新()',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建用户ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='应用表';
    
    -- ----------------------------
    -- Table structure for ucs_navigator
    -- ----------------------------
    DROP TABLE IF EXISTS `ucs_navigator`;
    CREATE TABLE `ucs_navigator` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `parent_id` char(32) DEFAULT NULL COMMENT '父级导航ID',
      `app_id` char(32) NOT NULL COMMENT '应用ID',
      `type` tinyint(3) unsigned NOT NULL COMMENT '导航级别',
      `index` int(11) unsigned NOT NULL COMMENT '序号',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `icon` varchar(128) DEFAULT NULL COMMENT '图标Url',
      `url` varchar(128) DEFAULT NULL COMMENT '模块/页面Url',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建用户ID',
      `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucs_navigator_app_id` (`app_id`) USING BTREE,
      KEY `idx_ucs_navigator_parent_id` (`parent_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='导航表';
    
    -- ----------------------------
    -- Table structure for ucs_function
    -- ----------------------------
    DROP TABLE IF EXISTS `ucs_function`;
    CREATE TABLE `ucs_function` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `nav_id` char(32) NOT NULL COMMENT '导航(末级模块)ID',
      `type` tinyint(3) unsigned NOT NULL COMMENT '功能类型 0:全局功能;1:数据项功能;2:其他功能',
      `code` varchar(16) DEFAULT NULL COMMENT '代码',
      `index` int(11) unsigned NOT NULL COMMENT '序号',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `alias` varchar(64) DEFAULT NULL COMMENT '别名',
      `icon` varchar(128) DEFAULT NULL COMMENT '图标Url',
      `url` varchar(128) DEFAULT NULL COMMENT '功能URL',
      `interfaces` varchar(512) DEFAULT NULL COMMENT '接口URL,功能对应多个URL以逗号分隔(不含域名及端口号)',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `begin_group` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否开始分组',
      `hide_text` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否隐藏文字',
      `is_invisible` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否不可见:0、可见;1、不可见',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建用户ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucs_function_nav_id` (`nav_id`) USING BTREE,
      KEY `idx_ucs_function_alias` (`alias`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='功能表';
    
    -- ----------------------------
    -- Table structure for ucr_config
    -- ----------------------------
    DROP TABLE IF EXISTS `ucr_config`;
    CREATE TABLE `ucr_config` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `data_type` int(3) unsigned NOT NULL COMMENT '类型:0、无归属;1、仅本人;2、仅本部门;3、部门所有;4、机构所有',
      `name` varchar(32) NOT NULL COMMENT '名称',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucr_role_data_permit_data_type` (`data_type`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='数据配置表';
    
    -- ----------------------------
    -- Table structure for ucr_role
    -- ----------------------------
    DROP TABLE IF EXISTS `ucr_role`;
    CREATE TABLE `ucr_role` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `app_id` char(32) DEFAULT NULL COMMENT '应用ID,如不为空则该角色为应用专有',
      `name` varchar(64) NOT NULL COMMENT '名称',
      `remark` varchar(256) DEFAULT NULL COMMENT '备注',
      `is_builtin` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否内置:0、非内置;1、内置',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucr_role_tenant_id` (`tenant_id`) USING BTREE,
      KEY `idx_ucr_role_app_id` (`app_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色表';
    
    -- ----------------------------
    -- Table structure for ucr_role_func_permit
    -- ----------------------------
    DROP TABLE IF EXISTS `ucr_role_func_permit`;
    CREATE TABLE `ucr_role_func_permit` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `role_id` char(32) NOT NULL COMMENT '角色ID',
      `function_id` char(32) NOT NULL COMMENT '功能ID',
      `permit` bit(1) NOT NULL DEFAULT b'0' COMMENT '授权类型:0、拒绝;1、允许',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucr_role_func_permit_role_id` (`role_id`) USING BTREE,
      KEY `idx_ucr_role_func_permit_function_id` (`function_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色功能权限表';
    
    -- ----------------------------
    -- Table structure for ucr_role_data_permit
    -- ----------------------------
    DROP TABLE IF EXISTS `ucr_role_data_permit`;
    CREATE TABLE `ucr_role_data_permit` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `role_id` char(32) NOT NULL COMMENT '角色ID',
      `module_id` char(32) NOT NULL COMMENT '业务模块ID',
      `mode` int(3) unsigned NOT NULL COMMENT '授权模式:0、相对模式;1、用户模式;2、部门模式',
      `owner_id` char(32) NOT NULL COMMENT '数据所有者ID,相对模式下为模式ID',
      `permit` bit(1) NOT NULL DEFAULT b'0' COMMENT '授权类型:0、只读;1、读写',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucr_role_data_permit_role_id` (`role_id`) USING BTREE,
      KEY `idx_ucr_role_data_permit_module_id` (`module_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色数据权限表';
    
    -- ----------------------------
    -- Table structure for ucr_role_member
    -- ----------------------------
    DROP TABLE IF EXISTS `ucr_role_member`;
    CREATE TABLE `ucr_role_member` (
      `id` char(32) NOT NULL COMMENT '主键(UUID)',
      `type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '成员类型:0、未定义;1、用户;2、用户组;3、职位',
      `role_id` char(32) NOT NULL COMMENT '角色ID',
      `member_id` char(32) NOT NULL COMMENT '成员ID',
      `creator` varchar(64) NOT NULL COMMENT '创建人',
      `creator_id` char(32) NOT NULL COMMENT '创建人ID',
      `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      PRIMARY KEY (`id`) USING BTREE,
      KEY `idx_ucr_role_member_role_id` (`role_id`) USING BTREE,
      KEY `idx_ucr_role_member_member_id` (`member_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='角色成员表';
    
    
  • 相关阅读:
    Nginx 使用 X-Accel-Redirect 实现静态文件下载的统计、鉴权、防盗链、限速等
    SpringCloud的Feign相关调用,熔断源码分析
    SpringCloud之熔断(六)
    lambda与java8函数式编程
    CompletableFuture基本使用
    RabbitMq消费者在初始配置之后进行数据消费
    文件监控性能问题【BUG】
    element穿梭框el-transfer增加拖拽排序和shift多选checkbox功能
    RPC序列化方式优缺点
    部署企业私密信息管理平台Hashicorp vault集成kubernetes和AWS的密钥信息
  • 原文地址:https://www.cnblogs.com/xuanbg/p/9125027.html
Copyright © 2020-2023  润新知