常用5张权限表设计讲解
大致用到5张表:用户表(UserInfo)、角色表(RoleInfo)、菜单表(MenuInfo)、用户角色表(UserRole)、角色菜单表(RoleMenu)。
各表的大体表结构如下:
1、用户表(UserInfo):Id、UserName、UserPwd
2、角色表(RoleInfo):Id、RoleName
3、菜单表(MenuInfo):Id、MenuName
4、用户角色表(UserRole):Id、UserId、RoleId
5、角色菜单表(RoleMenu):Id、RoleId、MenuId
最关键的地方是,某个用户登录时,如何查找该用户的菜单权限?其实一条语句即可搞定:
假如用户的用户名为zhangsan,则他的菜单权限查询如下:
Select m.Id,m.MenuName from MenuInfo m ,UserInfo u UserRole ur, RoleMenu rm Where m.Id = rm.MenuId and ur.RoleId = rm.RoleId and ur.UserId = u.Id and u.UserName = 'zhangsan'
常用5张权限表设计讲解相关推荐
- Shrio之权限表设计
一.经典5张表 ①用户表 ②角色表 ③用户-角色表 ④菜单表(权限表) ⑤角色菜单表(权限表) 二.权限表设计 1. 菜单表 -- 菜单 CREATE TABLE `sys_menu` (`menu_ ...
- RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
RBAC.控制权限设计.权限表设计 基于角色权限控制和基于资源权限控制的区别优劣 一.介绍 二.基于角色的权限设计 三.基于资源的权限设计 四.主体.资源.权限关系图 主体.资源.权限相关的数据模型 ...
- 开源物联网平台ThingsBoard数据库40张数据表设计一览
开源物联网平台ThingsBoard数据库40张数据表设计一览 1 ThingsBoard数据库总览 1.1 数据库信息 1.1.1 数据库名称 1.1.3 数据库用户名及密码 1.1.3 数据库表 ...
- mysql表设计讲解_MySQL中数据库的设计归纳讲解
谈到MySQL中数据库的设计,相信大家都知道这是实现实际业务的重要一步,因此对于Java学习者来说,深入了解和学习数据库的设计是十分有必要的.本文为大家准备了一份MySQL中数据库的设计归纳讲解,内容 ...
- 使用二进制位来控制权限,表设计
前言 最近在自己搭建一个管理后台,到了权限角色的时候,按常规涉及了以下几张表: 也是相当常见的模型了. 但是随机我发现一个不大不小的问题,当权限表/资源表稍微大一点的时候,角色关联权限tbl_role ...
- 会员权限 表设计mysql_求用户-权限数据库表设计方案
前不久做的一个系统,用户-权限是这样设计的, 用户表: Id int primary key not null identity(1,1) 主键 UloginName varchar(20) not ...
- 会员权限 表设计mysql_用户权限管理数据库设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...
- BRAC模型 权限表设计
在BRAC模型中,涉及到的关键元素有: 用户:系统的使用用户 角色 :拥有相同的权限用户 权限:系统可以被用户操作的元素(如:菜单,超链接) 以上元素的关系: 用户和角色是多对多的关系; 角色和权限是 ...
- 部门人员职位权限表设计
用户角色多对多 角色权限多对多 用户部门多对多 部门表 用户_部门表 用户表 用户_角色表 角色表 角色_权限表 权限表 用户 用户_角色 (角色) 角色_菜单 ...
最新文章
- 自学python需要下载什么软件-一篇告诉你为什么人人都应该学点Python?
- Windows 7会成为Win XP第二的10大理由
- STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC
- 连接数据库报“You have an error in your SQL syntax”异常的解决
- Java+Jmeter接口测试
- 博客索引-pyhui-第二版
- 嵩天python123测试6_神华化工股票
- matlab 仿真钢琴,用Matlab模拟钢琴的声音
- iPhone 14系列内部定价曝光:全版本或将涨价
- 线程间通信 1全局变量2当前主对话框指针3发消息方式4 AfxBeginThread的返回值(为CWinThread类型的指针)5AfxGetApp...
- Akka源码分析-Remote-收消息
- 系统补丁安静安装参数
- 在x86下交叉编译mips程序
- MATLAB app designer 制作单选按钮的方法
- 大疆云台如何使用华为mate20pro_mate20pro 进阶功能吐槽和分析
- Android studio emulator 无法打开的解决办法
- 与传统计算相比,云计算具有哪些优势?
- Android 系统生成 releasekey
- 目标检测计算指标APmAP
- SEED-XDS560v2 驱动