【技术】基于数据库的权限设计
基于数据库的权限设计
- 基于数据库的权限设计
- 表设计
基于数据库的权限设计
目前大部分的系统都需要权限控制,这也是系统的标配,目前市面上已经有很多成熟的权限框架,比如:Shiro、Spring Security等。这些认证权限框架还是离不开数据库的支持。
表设计
说到权限,必定和用户挂钩,因为用户才是操作系统的核心,所以必须设计用户表。
我们可以给用户分配权限。
此时问题就来了,使用系统的用户有很多,有可能多个用户拥有相同的权限,需要频繁给用户分配权限,相对比较麻烦。如何解决呢?
一般来说拥有相同权限的用户都属于同一类人群,可以给这类人群赋予同一个标识,这个标识就是角色。只需要给角色划分好权限,再给用户划分角色,这样管理就相对轻松了。
表结构如下:
- 用户表:用户账号和密码
- 角色表:划分系统使用角色
- 权限表:罗列系统所有资源,下图中仅罗列了菜单,对于菜单下的按钮也可也设计进去
- 用户角色表:关联表,把用户和角色挂钩
- 角色权限表:关联表,把角色和权限挂钩
操作流程
- 用户登录
- 用户登录之后,根据用户ID,匹配【用户角色表】,查询其对应的角色。
- 根据查询到的角色ID,匹配【角色权限表】,查询其对应的权限(菜单)。
- 最后在页面展示菜单的信息。
不同的角色查询到的菜单不同,也就达到了权限的控制。
【技术】基于数据库的权限设计相关推荐
- 通向架构师的道路(第六天)之漫谈基于数据库的权限系统的设计
一.权限系统 这一天将讲述一个基本的基于数据库的权限管理系统的设计,在这一天的课程的最后将讲述"左右值无限分类实现算法"如何来优化"系统菜单"的结构而告终.今天 ...
- J2EE开发之(六)之漫谈基于数据库的权限系统的设计
一,权限系统 这一天将讲述一个基本的基于数据库的权限管理系统的设计,在这一天的课程的最后将讲述"左右值无限分类实现算法"如何来优化"系统菜单"的结构而告终.今天 ...
- 基于RBAC的权限设计
来源:http://www.phpchina.com/html/73/5173_itemid_10049.html 基于RBAC 的权限设计模型: 1 RBAC 介绍 RBAC 模型 ...
- 基于角色的权限设计(一)
在任何系统中,权限设计是最基础的东西,本文给出一个基于角色的权限设计的循序渐进的设计方案. 在权限系统中,功能(权限)是最小的单位,比如起草新闻.编辑新闻.审核新闻.删除新闻等,而角色是一类功能的集合 ...
- 基于RMI技术的数据库操作中间件设计 综合实践报告
前言 1.1 实践目的和要求 为了将理论用于实践,巩固所学知识,提高自己发现问题并用所学知识分析问题和解决问题的能力,锻炼自己的工作能力,适应社会能力,自我管理能力,了解目前软件的应用情况,需求情况 ...
- 一文带你学习DWS数据库用户权限设计与管理
前言 本文将介绍DWS基于RBAC(Role-Based Access Control,基于角色的访问控制)的数据库用户权限管理.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成 ...
- 基于shiro的权限设计
shiro介绍 Apache shiro是一个权限控制框架,它将安全认证抽取出来,实现用户身份认证,权限授权,加密,会话管理等功能,是一个通用的安全认证框架,而且还可以用于分布式集群.功能如下 1.验 ...
- 基于RBAC的权限设计模型
来源:http://blog.csdn.net/huanghanzzz2006/archive/2006/12/04/1429666.aspx 1 RBAC 介绍 RBAC 模型作为 ...
- OAuth2在分布式微服务架构下基于角色的权限设计(RBAC)
在前两节的基础上,对权限控制作进一步的分析与设计. RBAC(Role-Base Access Control,基于角色的访问控制) 本篇内容基于个人理解,不当之处,欢迎批评指正. 前两篇内容: [图 ...
最新文章
- JS删除数组指定下标并添加到数组开头
- 一个比较简单、非常简单的计算器
- 【数据分析】多场景下的算法构建
- 坚持使用GNU/Linux
- Android知识点
- VTK:图片之InteractWithImage
- 自定义镜像-Dockerfile
- TreeSet集合中的自定义比较器
- java垃圾回收机制优化_JVM性能优化--Java的垃圾回收机制
- Ubuntu18使用docker快速安装oracle 11g
- zabbix邮件通知,短信通知配置详解
- (并查集)The Suspects
- hitool备份3798固件方法_创维E900s海思3798芯片当贝桌面不拆机通刷固件及刷机教程201910版...
- 儿童时间管理表,让孩子学会善待时间
- AutoLisp从入门到放弃(十三)
- 【无极低码】手写一个低代码平台之二次开发Java
- IIS6/IIS7以上、Nginx、Apache拦截屏蔽垃圾蜘蛛UA爬行降低负载方法IIS7.5如何限制某UserAgent 禁止访问
- 你开始变的虚伪 是自尊心一直作祟
- 4.STM32F407之HAL库——按键
- 【解决方案】智慧国土管理靠什么?EasyCVR综合性视频监控管理系统成支撑
热门文章
- 黑莓9000刷机WIN7+DM6.0+ROM5.0+BBSAKv成功及安装使用经验
- Android 混淆机制详解
- 记录一次Extmail 邮件服务器崩盘事件
- TCP连接握手为什么3次?断开为什么是4次?TCP的优化-SCTP协议
- 为什么pytorch要用mean=[0.485, 0.456, 0.406] 、std=[0.229, 0.224, 0.225]
- Linux基础篇之网络配置
- python爬虫项目毕业设计_基于python爬虫的电影推荐网站的设计与实现毕业论文+初稿+项目源码+安装说明+使用说明...
- 科技爱好者周刊:第 79 期
- 解决共享文件复制出错“指定的网络名不再可用”
- 华为nova7se能云闪付吗_Huawei Pay开通与使用银联云闪付教程