SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for t_system_authority_info
-- ----------------------------
DROP TABLE IF EXISTS `t_system_authority_info`;
CREATE TABLE `t_system_authority_info` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '权限ID',
`name` varchar(100) DEFAULT NULL COMMENT '权限标识',
`cnname` varchar(100) DEFAULT NULL COMMENT '权限中文标识',
`insert_date` datetime DEFAULT NULL COMMENT '插入时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`order_index` int(4) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ----------------------------
-- Table structure for t_system_authority_resource
-- ----------------------------
DROP TABLE IF EXISTS `t_system_authority_resource`;
CREATE TABLE `t_system_authority_resource` (
`authority_id` int(11) NOT NULL COMMENT '权限ID',
`resource_id` int(11) NOT NULL COMMENT '资源ID',
PRIMARY KEY (`resource_id`,`authority_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ----------------------------
-- Table structure for t_system_resource_info
-- ----------------------------
DROP TABLE IF EXISTS `t_system_resource_info`;
CREATE TABLE `t_system_resource_info` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '资源ID',
`name` varchar(50) NOT NULL COMMENT '资源标识',
`path` varchar(200) NOT NULL COMMENT '资源URL',
`cnname` varchar(50) DEFAULT NULL COMMENT '资源中文标识',
`insert_date` datetime DEFAULT NULL COMMENT '插入时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`order_index` int(4) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`) USING BTREE,
UNIQUE KEY `path` (`path`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; -- ----------------------------
-- Table structure for t_system_role_authority
-- ----------------------------
DROP TABLE IF EXISTS `t_system_role_authority`;
CREATE TABLE `t_system_role_authority` (
`role_id` int(11) NOT NULL DEFAULT '' COMMENT '角色ID',
`authority_id` int(11) NOT NULL DEFAULT '' COMMENT '权限ID',
PRIMARY KEY (`role_id`,`authority_id`),
KEY `index_role_id` (`role_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Table structure for t_system_role_info
-- ----------------------------
DROP TABLE IF EXISTS `t_system_role_info`;
CREATE TABLE `t_system_role_info` (
`id` int(11) NOT NULL COMMENT '角色ID',
`name` varchar(50) NOT NULL COMMENT '角色名称',
`cnname` varchar(50) DEFAULT NULL COMMENT '角色中文名称',
`parent_id` int(11) DEFAULT NULL COMMENT '父角色ID',
`is_use` tinyint(4) DEFAULT '' COMMENT '1在用,0停用',
`insert_date` datetime DEFAULT NULL COMMENT '插入时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`order_index` int(4) DEFAULT NULL COMMENT '排序',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Table structure for t_system_user_info
-- ----------------------------
DROP TABLE IF EXISTS `t_system_user_info`;
CREATE TABLE `t_system_user_info` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) NOT NULL COMMENT '用户名称',
`password` varchar(50) NOT NULL COMMENT '密码',
`enabled` tinyint(4) DEFAULT '' COMMENT '可用(1表示可用,0表示停用)',
`default_role_id` int(11) DEFAULT NULL COMMENT '默认使用的角色ID',
`cnname` varchar(50) DEFAULT NULL COMMENT '中文名称',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`mobile` varchar(50) DEFAULT NULL COMMENT '电话',
`department_code` varchar(3) DEFAULT NULL COMMENT '组织代码(暂时保留)',
`insert_date` datetime DEFAULT NULL COMMENT '插入时间',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`last_login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
`operator_ip` varchar(50) DEFAULT NULL COMMENT '操作IP',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- ----------------------------
-- Table structure for t_system_user_role
-- ----------------------------
DROP TABLE IF EXISTS `t_system_user_role`;
CREATE TABLE `t_system_user_role` (
`user_id` int(11) NOT NULL DEFAULT '' COMMENT '用户ID',
`role_id` int(11) NOT NULL DEFAULT '' COMMENT '角色ID',
PRIMARY KEY (`user_id`,`role_id`),
KEY `roleId` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  数据库设计并没有给表建立相关外键,如有需要请自行添加外键。

数据库模型如图:

SpringSecurity 3.2入门(8)自定义权限控制数据库设计的更多相关文章

  1. springboot2.0整合springsecurity前后端分离进行自定义权限控制

    在阅读本文之前可以先看看springsecurity的基本执行流程,下面我展示一些核心配置文件,后面给出完整的整合代码到git上面,有兴趣的小伙伴可以下载进行研究 使用maven工程构建项目,首先需要 ...

  2. MVC基于角色权限控制--数据库设计

    在网站后台设计过程中都会遇上权限控制这一问题 当前较为流行的解决方案是基于角色的权限管理 基本思路如下 分别建立 用户信息表.角色信息表.权限信息表 让用户和角色关联,角色和权限关联,当用户访问时,通 ...

  3. Java丨角色权限控制——数据库设计

    相信各位读者对于角色权限管理这个需求并不陌生.那么是怎么实现的呢?今天小编来说道说道! 1.首先我们来进行数据库的设计,如何设计数据库是实现权限控制的关键: 1)用户表: id:主键.自增.int n ...

  4. 巨蟒django之权限6: 权限控制表设计&&登录权限

    1.权限控制表设计 内容 . 什么是权限? . 为什么要有权限? 不同用户拥有不同的功能 . 在web开发中,什么是权限? url 代表 权限 . 开发一个权限的组件,为什么要开发组件? . 表结构的 ...

  5. mysql学习【第6篇】:权限和数据库设计

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第6篇]:权限和数据库设计 用户和权限管理 /* 用户和权限管理 */ ---- ...

  6. SpringSecurity 3.2入门(7)自定义权限控制介绍

    总结Spring Security的使用方法有如下几种: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中. 二种是用户和权限用数据库存储,而资源(url)和权限的对应关系硬编 ...

  7. abp vnext 开发快速入门 3 实现权限控制

    上篇讲了abp vnext 实现了简单的增加操作的例子.删除更新查询基本类似,这里就不讲了,接下来说下如何实现角色权限控制. 再说之前,先说下如果想更加透彻的理解abp vnext的权限控制,最好是先 ...

  8. RBAC用户权限管理数据库设计

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  9. RBAC用户权限管理数据库设计【转载】

    本文转载自:https://www.kancloud.cn/martist/ma_zhao_liu/374123 简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色-权 ...

随机推荐

  1. hadoop中常用的hdfs代码操作

    一:向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件: package hadoopTest; import org.apache.h ...

  2. Spring boot进阶-配置Controller、interceptor...

    1.配置SpringBootApplication(对spring boot来说这是最基本) package io.github.syske.springboot31; import org.spri ...

  3. spring 学习(三):aop 学习

    spring 学习(三):aop 学习 aop 概念 1 aop:面向切面(方面)编程,扩展功能不修改源代码实现 2 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码 3 aop底层使用动态代 ...

  4. Sql Server两个数据库中有一张表的结构一样,怎么快速将一张表中的数据复制到另一个表中

    1,下面这句会把表2数据删除,然后把表1复制到表一,两表内容一样 SELECT * into 表2 FROM 表1 2,这句只追加,不删除表2的数据 insert into 表1 select * f ...

  5. MyBatis配置文件mybatis-config.xml

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...

  6. Liunux疑问

    Liunux疑问 其中的各种软件的安装有模糊的点,待解决 待解决 待解决 待解决 ... ...

  7. minizip -基于zlib开源代码库

    转载:https://www.topomel.com/archives/979.html 一.minizip 是一套用来压缩和解压文件的工具,其基于zlib开源代码库. 开源代码下载链接:http:/ ...

  8. Android 利用apache tomcat在自己的电脑上搭建服务器

    1.什么叫服务器 装了服务器端的软件的那台电脑被称为服务器.常见的服务器的软件有apache tomcat. 2.Tomcat 介绍 tomcat是一种轻量级的web容器服务器,使用tomcat可以实 ...

  9. C++_新特性2-RTTI运行阶段类型识别

    这部分属于C++的新特性,感觉比较高阶的特性.我把它归于属于奇技淫巧的范畴.了解即可. RTTI是运行阶段类型识别(Runtime Type Identification)的简称. 这是添加到C++中 ...

  10. CF1012B Chemical table(构造)

    [Luogu-CF1012B] 还有重题 P5089[eJOI2018]元素周期表 题解原话 : 可以发现这个过程是不改变二分图中的连通分量的个数的 答案就是 连通分量数-1 证明 : 设一行或一列为 ...