RBAC浅谈(一)RBAC的基本概念
1.概念
RBAC即Role Based Access Control,意为基于角色的访问控制。用户与角色相关联,当用户在系统进行注册时可以选择成为某一角色从而拥有这个角色的权限,当然新注册的用户的权限也可以由上一级用户授予如管理员认定某个用户为某个角色就授予了该普通用户对应角色得权限。用户与权限的逻辑分离极大地简化了权限的管理。
权限:能够执行某个操作或具备操作某个事物的能力
角色:一系列权限的集合
用户、角色与权限的关系
用户 ——> 角色 ——> 权限(它们之间是映射的关系)
RBAC在权限管理问题中的作用就好比一个范式,让我们在以后处理对应的权限问题时可以直接套用RBAC的思想。
2.权限管理问题
在没有进行权限划分的页面中,所有登录的用户看到的页面内容都是一致的。但在实际业务运用中,每个页面应该有公共的部分即每个用户都能看到的部分以及某一类用户自己才能看见的部分如系统的管理员能看到管理普通用户的页面而普通用户只能看到对他提供服务的页面。毫无疑问,此时不同的用户登录系统以后他们所看到的内容以及执行的操作是有区别的。
3.权限的使用场景
不同用户登录后看到的菜单不一样
不同用户登录后看到的页面效果不一样
有的能见有的不能见
不同用户登录后能操作的功能不一样
有的能点击触发有的不能
4.实例
①在传统的权限解决方案中的解决办法
每新增一个用户,我们都要在用户表里面添加一条记录,每个用户分配n条权限,则用户关联表里要添加n条记录,最后总共要添加n+1条记录,且当以后新增某个权限或者删除某个权限时要更改许多用户记录。
②使用RBAC思想解决的办法
RBAC的核心是角色,当新增一个用户时,在用户表里添加一条记录,给新增用户分配一个角色,在用户角色关联表里添加一条记录,总共只需要新增2条记录。当以后要添加新的角色或权限时也只用更改角色表而不用改动用户表。
总结
在进行web项目开发时,使用RBAC的思想来设计数据库表。在设计数据库表时我们通常要进行逻辑数据表的设计以及功能资源表的设计,不同的用户登录web页面看到不一样的内容即是查询了功能资源表里的不同记录。使用RBAC思想设计的方案是非常灵活的。
RBAC浅谈(一)RBAC的基本概念相关推荐
- 浅谈CMMI几个过程概念流程管理 (转)
浅谈CMMI几个过程概念流程管理 CMMI(Capability Maturity Model Integration)能力成熟度模型集成,正如它的名字一样,它是一个模型.个人觉得它更是一种概念.它带 ...
- HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)...
HTTP协议漫谈 简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲解. ...
- 浅谈 加签验签 概念
浅谈 加签验签 概念(一) 我们在求职面试中,经常会被问到,如何设计一个安全对外的接口呢? 其实可以回答这一点,加签和验签,这将让你的接口更加有安全.接下来,本文将和大家一起来学习加签和验签.从理论到 ...
- 浅谈进程同步和互斥的概念
简介 进程同步是一个操作系统级别的概念,是在多道程序的环境下,存在着不同的制约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而避免进程之间的冲突,引入了进程同步. 临界资源 在操作系统中 ...
- 浅谈SAP CRM开发——技术概念、与ECC 系列产品区别
SAP CRM首先和SAP ECC,SAP BW一样,都是SAP的一个产品,而不是属于ECC的一个模块,当然CRM在很多功能方面和ECC有重复,比如CRM的SALES和ECC的SD,CRM的SERVI ...
- 捷配浅谈PCB叠层的概念、设计原则
PCB叠层设计,其实和做汉堡有类似的工艺.汉堡店会精心准备每一层汉堡,就像PCB厂家的PCB板层叠在一起一样.汉堡会有不同的大小和形状,有各种各样的配料,秘密酱汁覆盖着我们自己的烤面包.就像我们在PC ...
- 【JY】浅谈混凝土结构/构件性能试验指标概念(二)
因你精彩 即刻关注 ☞ [写在文前] 上期[JY]浅谈混凝土结构/构件性能试验指标概念(一)中从"定量"的角度对混凝土结构/构件的试验指标进行探讨,本期主要从"定性&qu ...
- 【JY】浅谈结构设计
因你精彩 即刻关注 "大道至简,愿工程师们都能做到始知真放本精微" 首先结构是什么呢? 结构是骨架,是建筑的现实意义存在的形式.换句话说,一切的建筑/构筑都有结构,建筑/构筑不同, ...
- 云计算浅谈之二:云计算介绍(2)
本来这一讲应该随上一讲结束,不过本人时间有限,所以拆开了.另外既然题名为浅谈,就些微提一些概念,唤起大家对云计算的注意,抛砖引玉.更多的内容可以参考我上一讲给大家提示的"windows az ...
最新文章
- Android图片颜色比例,Android开发学习之路-图片颜色获取器开发(1)
- React 服务端渲染方案完美的解决方案
- fzu1062 洗牌问题(思路模拟)
- 【数字信号处理】傅里叶变换性质 ( 序列对称分解定理示例 | 共轭对称序列与原序列之间的关系 | 共轭反对称序列与原序列之间的关系 )
- Java 对象占用内存大小
- 推荐一个非常好的行为验证码开源项目!
- 大讲堂 | 预测时间敏感的机器学习模型建模与优化
- SAP CRM OData实现:get_expanded_entityset方法,我测试时没有被调用,但是Li K电脑上调用了
- Hibernate简单例子以及笔记
- 【转】从TXT导入到dataGridView
- 读者教育浏览器兼容解决方法
- COM编程入门 第三部分(网文补充)
- 【揭秘】一个小团队真正能落地的微服务架构实践
- vue颜色选择器插件
- 多益网络2022春笔试题记忆版
- 保险与赌博的差异,航延险是赌博吗?
- Docer实现Django Uwsgi部署
- 计算机方向键是哪个键,你可能从来没碰过的键,电脑键盘方向键上面的3个按键有什么用?...
- 反向放大器为何要使用同相增益(也称作噪声增益),来计算带宽
- python实现RGB转换HSV
热门文章
- NOIP2011题解
- 万州区妇幼保健院数字化异地容灾及备份系统采购项目采购55万
- 掌握计算机维护搭配动词,我会搭配词语。(脱)衣服(完成)作业()篮球()动物()电脑()房间()麦...
- oracle ip策略,ip rule -- 路由策略数据库管理命令
- 创意电子学-小知识:电压、电流、电阻和欧姆定律
- autocomplete请求无数据时一直牌loading完美处理
- 新计算机主板不亮,电脑主板不通电,点不亮,有几种原因?怎么解决?
- 技术“专家”与“君子剑”
- font-style italic 和 oblique的区别
- python使用cxfreeze打包报错