SpringSecurity 3.2入门(8)自定义权限控制数据库设计
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)自定义权限控制数据库设计的更多相关文章
- springboot2.0整合springsecurity前后端分离进行自定义权限控制
在阅读本文之前可以先看看springsecurity的基本执行流程,下面我展示一些核心配置文件,后面给出完整的整合代码到git上面,有兴趣的小伙伴可以下载进行研究 使用maven工程构建项目,首先需要 ...
- MVC基于角色权限控制--数据库设计
在网站后台设计过程中都会遇上权限控制这一问题 当前较为流行的解决方案是基于角色的权限管理 基本思路如下 分别建立 用户信息表.角色信息表.权限信息表 让用户和角色关联,角色和权限关联,当用户访问时,通 ...
- Java丨角色权限控制——数据库设计
相信各位读者对于角色权限管理这个需求并不陌生.那么是怎么实现的呢?今天小编来说道说道! 1.首先我们来进行数据库的设计,如何设计数据库是实现权限控制的关键: 1)用户表: id:主键.自增.int n ...
- 巨蟒django之权限6: 权限控制表设计&&登录权限
1.权限控制表设计 内容 . 什么是权限? . 为什么要有权限? 不同用户拥有不同的功能 . 在web开发中,什么是权限? url 代表 权限 . 开发一个权限的组件,为什么要开发组件? . 表结构的 ...
- mysql学习【第6篇】:权限和数据库设计
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第6篇]:权限和数据库设计 用户和权限管理 /* 用户和权限管理 */ ---- ...
- SpringSecurity 3.2入门(7)自定义权限控制介绍
总结Spring Security的使用方法有如下几种: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中. 二种是用户和权限用数据库存储,而资源(url)和权限的对应关系硬编 ...
- abp vnext 开发快速入门 3 实现权限控制
上篇讲了abp vnext 实现了简单的增加操作的例子.删除更新查询基本类似,这里就不讲了,接下来说下如何实现角色权限控制. 再说之前,先说下如果想更加透彻的理解abp vnext的权限控制,最好是先 ...
- RBAC用户权限管理数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- RBAC用户权限管理数据库设计【转载】
本文转载自:https://www.kancloud.cn/martist/ma_zhao_liu/374123 简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色-权 ...
随机推荐
- python函数作用域,闭包,装饰器
第一:函数作用域: L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间(闭包) G:global 全局作用域 B:build_in ...
- ThinkCMF if 标签
用法示例: <if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condition=& ...
- rpm命令-以jenkins为例
1.列出所有安装的Jenkins rpm -qa | grep jenkins 2.软件是否安装:例如:jenkins是否安装 rpm -qa | grep jenkins 3.rpm -ql 列出软 ...
- php 编码和解码的函数
URL: urlencode(); //编码 urldecode(); //解码 URL与数组互转: parse_url () http_build_query() base64: base64_en ...
- C++_标准模板库STL概念介绍4-算法
STL包含很多处理容器的非成员函数: sort() copy() find() random_shuffle() set_union() set_intersection() set_differen ...
- JAVA数据结构--冒泡排序
冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行 ...
- AtCoder Beginner Contest 113 A
A - Discount Fare Time limit : 2sec / Memory limit : 1024MB Score: 100 points Problem Statement Ther ...
- Axure8.0
1.Axure的一行三列的基本布局. 2.自适应页面设置,页面设置? 3.自动生成HTML的工具栏使用.生产的目录文件夹的内容. 4.元件的交互(样式修改,显示隐藏) 5.全局变量,钢笔工具的使用
- Oracle date和timestamp区别
<转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一.date和timest ...
- shell 操作环境
一.路径与命令查找顺序 命令的运行程序可以这样看: 1.以相对/绝对的路径执行命令,例“/bin/ls”或“ls” 2.由alias乍到该命令来执行 3.由bash内置的(builtin)命令来执行 ...