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='角色成员表';
RBAC权限管理系统数据模型的更多相关文章
- RBAC权限管理系统
RBAC--基于角色的权限管理系统 优势: 1. 简化了用户和权限的关系 2. 易扩展,易于维护 3. RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方 ...
- Spring Cloud实战: 基于Spring Cloud Gateway + vue-element-admin 实现的RBAC权限管理系统,实现网关对RESTful接口方法权限和自定义Vue指令对按钮权限的细粒度控制
一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT ...
- 基于RBAC模型的通用企业权限管理系统
1. 为什么我们需要基于RBAC模型的通用企业权限管理系统 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限 ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...
- 利用RBAC模型实现一个通用的权限管理系统
本文主要描述一个通用的权限系统实现思路与过程.也是对此次制作权限管理模块的总结. 制作此系统的初衷是为了让这个权限系统得以“通用”.就是生产一个web系统通过调用这个权限系统(生成的dll文件), 就 ...
- 权限管理系统(五):RBAC新解,基于资源的权限管理
本文讨论以角色概念进行的权限管理策略及主要以基于角色的机制进行权限管理是远远不够的.同时我将讨论一种我认为更好的权限管理方式. 1.什么是角色 当说到程序的权限管理时,人们往往想到角色这一概念.角色是 ...
- 权限管理系统(一):权限系统与RBAC模型概述
RBAC模型概述 RBAC即角色访问控制(Role Based Access Control) RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,who.what.how构 ...
- 基于RBAC权限管理的后台管理系统
在摸爬滚打中渐渐理解了RBAC权限管理是个什么玩意. RBAC的基本概念: **RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,who.what.how构成了访问权限三元 ...
- Winform开发框架之权限管理系统的改进
权限管理系统,一直是很多Mis系统和一些常见的管理系统所需要的,所以一般可以作为独立的模块进行开发,需要的时候进行整合即可,不需要每次从头开发,除非特殊的系统需求.我在Winform开发框架介绍中的随 ...
随机推荐
- Apache Kafka: 优化部署的10个最佳实践
原文作者:Ben Bromhead 译者:江玮 原文地址:https://www.infoq.com/articles/apache-kafka-best-practices-to-opti ...
- AD预测论文研读系列2
EARLY PREDICTION OF ALZHEIMER'S DISEASE DEMENTIA BASED ON BASELINE HIPPOCAMPAL MRI AND 1-YEAR FOLLOW ...
- ZOJ 1456 Minimum Transport Cost(Floyd算法求解最短路径并输出最小字典序路径)
题目链接: https://vjudge.net/problem/ZOJ-1456 These are N cities in Spring country. Between each pair of ...
- Shell 函数定义与调用
linux shell 可以用户定义函数,然后在 shell 脚本中可以随便调用. 以一个计算两数之和的函数为例: #! /bin/bash # 函数定义 sum(){ return $(($1+$2 ...
- Badge
The following plugin provides functionality available through Pipeline-compatible steps. Read more a ...
- 探秘 Java 热部署二(Java agent premain)
# 前言 在前文 探秘 Java 热部署 中,我们通过在死循环中重复加载 ClassLoader 和 Class 文件实现了热部署的功能,但我们也指出了缺点-----不够灵活.需要手动修改文件等操作. ...
- Infopath 2013 通过UserProfileService读取AD用户信息
我刚刚看过什么C#文章获得当前用户使用Web服务的详细信息. 其实无需编写任何代码,可以实现完全相同的结果.所以我在这里简单的介绍一下: *如果你已经熟悉这个,这个篇文章可以跳过. *此介绍是建立在I ...
- Ubuntu安装与配置
四.ubuntu下生成ngrok服务器主程序 4.1.步骤与先决条件 如果你只是临时穿透或调试用,到第三步基本就可以了,但如果想作为稳定的商业服务,用别人的服务器还是受制于人,这里我们准备搭建自己的n ...
- 【Java】HashMap源码分析——常用方法详解
上一篇介绍了HashMap的基本概念,这一篇着重介绍HasHMap中的一些常用方法:put()get()**resize()** 首先介绍resize()这个方法,在我看来这是HashMap中一个非常 ...
- Spring全家桶–SpringBoot Rest API
Spring Boot通过提供开箱即用的默认依赖或者转换来补充Spring REST支持.在Spring Boot中编写RESTful服务与SpringMVC没有什么不同.总而言之,基于Spring ...