目录

  • 功能权限
  • 数据权限
  • 权限设计 RBAC
    • 鉴权管理,即权限判断逻辑。
    • 授权管理,即权限分配过程。

功能权限

权限系统设计方案

权限系统就该这么设计

数据权限

数据权限就该这么实现(设计篇)

数据权限就该这么实现(实现篇)

权限系统中的数据权限就该这么设计!

yudao-spring-boot-starter-biz-data-permission

权限设计 RBAC

很多人都知道以角色为基础的权限管理设计(RBAC),但是大部分人似懂非懂,不知道完整的权限管理系统都包括哪些内容。
在此以权限管理的使用场景来说明一下完整的权限管理内容。

鉴权管理,即权限判断逻辑。

  1. 最基本的权限管理就是菜单管理,用户没有权限的功能模块在菜单节点上是不显示的。(很多人以为这就是权限管理!)
    示例:普通业务人员登录系统后,是看不到【用户管理】菜单的。

  2. 功能权限管理,B/S系统的功能体现为URL,所以功能权限管理主要是针对URL访问的管理。(很多人都不清楚权限管理的对象是什么?)
    示例:
    经过授权,部门经理可以查看【用户管理】菜单,并查看部门用户信息,但权限设计要求,该部门经理没有添加用户的权限。
    所以在访问【添加用户】的功能(URL)时,应该有没有授权的提示信息。
    同时在【用户管理】页面上,【添加用户】的按钮应该灰色显示,不能点击。

  3. 行级权限管理
    示例:
    论坛管理员,权限设计要求 A能管理论坛 【新闻版块】,不能管理论坛 【技术交流】
    此时的权限设计就应该根据论坛的相应ID来判断权限信息。

  4. 列级权限管理
    示例:
    业务权限设计要求,除销售人员以外,其他用户不能看到客户的联系方式信息。
    此时的权限设计要判断相应的字段(列)是否可以显示。

  5. 组织机构/部门级数据权限管理
    示例:
    业务权限设计要求,销售一部的人员只能看到本部门的销售订单,销售二部的人员只能看到本部门的销售订单,但销售经理可以同时看到
    销售一部和销售二部的销售订单。
    此时的权限设计就要根据销售订单数据本身的部门属性来做判断

  6. 范围型业务数据权限管理
    示例:
    大卖场销售人员在下销售订单时,要选择相应的产品所在仓库信息。
    业务权限设计要求,【国美】的销售人员在选择仓库的下拉列表中不能看到【广州仓库】,而【大中电器】的销售人员在选择仓库的下拉列表中不能看到【北京顺义仓库】

授权管理,即权限分配过程。

以上的权限管理内容都要通过系统的授权功能来分配给具体的用户,授权功能应该足够灵活。

  1. 直接对用户授权,直接分配到用户的权限具有最优先级别。

  2. 对用户所属岗位授权,用户所属岗位信息可以看作是一个分组,和角色的作用一样,但是每个用户只能关联一个岗位信息。

  3. 对用户所属角色授权,用户所属角色信息可以看作是一个权限分组,每个用户可以关联多个角色。

  4. 角色直接关联具体的功能权限(URL),也可以关联负权限,即此角色关联的权限不能使用负权限功能。负权限具有优先级别。

  5. 分级授权,系统管理员可以将自己拥有的权限信息授权给其他用户。即可以设置分级管理员和超级管理员。

基于RBAC 权限系统 功能权限 数据权限设计相关推荐

  1. 权限系统中的数据权限就该这么设计,yyds!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  2. 权限系统中的数据权限就该这么设计,yyds

    在项目实际开发中我们不光要控制一个用户能访问哪些资源,还需要控制用户只能访问资源中的某部分数据. 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC,但是控制用户只能访问某部分资源(即我们 ...

  3. 如何在应用系统中实现数据权限的控制功能

    在很多应用行业里面,都对数据的权限做了特别的声明,如对于销售,财务的数据,它们是非常敏感的,因此要求对数据权限进行控制,对于基于集团性的应用系统而言,就更多需要控制好各自公司的数据了.如默认只能看本公 ...

  4. JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),团队会努力推出新版本,希望大家多多支持!!

     JEECG Framework 3.5.0 GA 新版本终于发布了,重量级功能(数据权限,国际化,多数据源),            今年团队会努力不断推出新版本,希望大家多多支持!! 发布地址: ...

  5. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

  6. 基于智慧防雷系统的大数据应用技术研究

    基于智慧防雷系统的大数据应用技术研究 一.  引言 最近几年随着大数据技术的快速发展和应用,智慧城市随即也被正式提出,而且我们也可以深刻感受到"智慧"正在慢慢改变我们的生活方式和城 ...

  7. 基于matlab fdma传输系统设计,基于matlab频分复用系统的研究与仿真设计3695.doc

    基于matlab频分复用系统的研究与仿真设计3695.doc 目录1设计任务及要求111设计任务112设计要求12设计作用及其目的13设计过程及原理231频分复用通信系统模型建立232语音信号采样53 ...

  8. 权限开发手册,数据权限和接口权限配置

    权限开发手册 一般来说,权限有许多种,我们经常用到的一般有操作权限和数据权限两种. 功能权限 所谓操作权限就是有或者没有做某种操作的权限,具体表现形式就是你看不到某个菜单或按钮,当然也有的是把菜单或按 ...

  9. django权限系统实现步骤_Django权限机制的实现

    django-permission 本文涉及的技术,已应用于我基于django 1.8+ 开发的博客系统--MayBlog,欢迎交流. 1. Django权限机制概述 权限机制能够约束用户行为,控制页 ...

最新文章

  1. java 二维码生成和解析
  2. modelandview 可以返回html么_Python: 爬虫网页解析工具lxml.html(一)
  3. yum 安装mysql的位置_Yum安装MySQL以及相关目录路径和修改目录
  4. HRESULT返回值说明
  5. 20万DBA最关注的11个问题
  6. eclipse + mapxtreme 代码示例1
  7. ECMAScript 6细说转码的常见的几种方案
  8. c语言打字游戏程序设计报告,2016打字游戏程序设计报告.doc
  9. c语言中药品管理系统报告,C语言 药品管理系统.doc
  10. 1.SCRT怎么连接Ensp里面的设备???
  11. 惠普打印机如何设置扫描到计算机,惠普打印机怎样扫描文件到电脑
  12. 使用Scrapy(二)编写抓取规则
  13. 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
  14. int、time和timestamp区别
  15. 爬动的蠕虫(C语言)
  16. 绝对值表达式的最大值(Java)
  17. 【云计算的1024种玩法】一.半小时轻松搭建属于自己的Discuz论坛
  18. vue3 预览docx文件
  19. Windows10系统如何安装git
  20. 拆卸计算机主机的详细注意事项,台式电脑(拆卸/安装)CPU最全图文教程

热门文章

  1. C语言(C++)如何给字符数组赋值
  2. 基于海康综合管理平台web插件开发的问题
  3. Flask项目到服务器部署
  4. 计算机启动蓝屏,电脑一开机就蓝屏,详细教您电脑一开机就蓝屏怎么解决
  5. usb口拒绝访问_【u盘拒绝访问】解决方法大全
  6. 在高层建筑中多少层开始使用爬架?联筑赚告诉你答案!
  7. win 10 cmd下的cd 命令
  8. laravel guzzle 使用
  9. UE4材质不拉伸材质UV(物体UV换成世界UV)
  10. java pdf中文乱码_java生成pdf以及解决中文中文乱码问题