热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RBAC权限设计及其实现方法

本文介绍了RBAC权限设计的概念及其实现方法,包括鉴权管理、菜单管理、功能权限管理、行级权限管理和列级权限管理等方面的内容。通过具体示例,说明了各种权限管理的实际应用场景和实现方式。对于需要进行权限设计的系统开发人员和系统管理员,本文提供了一些有益的参考和指导。

一、是鉴权管理,

即权限判断逻辑。


  • 1. 最基本的权限管理就是菜单管理,用户没有权限的功能模块在菜单节点上是不显示的。(很多人以为这就是权限管理!)

示例:


普通业务人员登录系统后,是看不到【用户管理】菜单的。



  • 2. 功能权限管理,B/S系统的功能体现为URL,所以功能权限管理主要是针对URL访问的管理。(很多人都不清楚权限管理的对象是什么?)

示例:


 经过授权,部门经理可以查看【用户管理】菜单,并查看部门用户信息,但权限设计要求,该部门经理没有添加用户的权限。

所以在访问【添加用户】的功能(URL)时,应该有没有授权的提示信息。

同时在【用户管理】页面上,【添加用户】的按钮应该灰色显示,不能点击。



  • 3. 行级权限管理

示例:


论坛管理员,权限设计要求 A能管理论坛 【新闻版块】,不能管理论坛 【技术交流】

此时的权限设计就应该根据论坛的相应ID来判断权限信息。



  • 4. 列级权限管理

示例:


业务权限设计要求,除销售人员以外,其他用户不能看到客户的联系方式信息。

此时的权限设计要判断相应的字段(列)是否可以显示。



  • 5. 组织机构/部门级数据权限管理

示例:


业务权限设计要求,销售一部的人员只能看到本部门的销售订单,销售二部的人员只能看到本部门的销售订单,但销售经理可以同时看到

销售一部和销售二部的销售订单。

此时的权限设计就要根据销售订单数据本身的部门属性来做判断



  • 6. 范围型业务数据权限管理

示例:


大卖场销售人员在下销售订单时,要选择相应的产品所在仓库信息。

业务权限设计要求,【国美】的销售人员在选择仓库的下拉列表中不能看到【广州仓库】,而【大中电器】的销售人员在选择仓库的下拉列表中不能看到【北京顺义仓库】



二、授权管理

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


  1. 直接对用户授权,直接分配到用户的权限具有最优先级别。
  2. 对用户所属岗位授权,用户所属岗位信息可以看作是一个分组,和角色的作用一样,但是每个用户只能关联一个岗位信息。
  3. 对用户所属角色授权,用户所属角色信息可以看作是一个权限分组,每个用户可以关联多个角色。
  4. 角色直接关联具体的功能权限(URL),也可以关联负权限,即此角色关联的权限不能使用负权限功能。负权限具有优先级别。
  5. 分级授权,系统管理员可以将自己拥有的权限信息授权给其他用户。即可以设置分级管理员和超级管理员。

推荐阅读
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 13、逻辑控制器全面解析与应用综述
    ### 逻辑控制器全面解析与应用综述**摘要**:本文详细探讨了逻辑控制器在性能测试中的关键作用。首先介绍了“运行时间控制器”(Runtime Controller),该控制器用于限定其下子节点的执行时长,适用于极限测试等场景,如控制单个请求的执行时间。其次,分析了“仅一次控制器”,确保其下的任务在整个测试过程中仅执行一次。这些控制器在复杂测试环境中的应用能够显著提升测试效率和准确性。 ... [详细]
  • 本文深入探讨了C#中的反射与特性功能。首先,介绍了反射的基本概念,即通过元数据(包括类的方法、属性和字段等)在运行时动态获取和操作程序信息的能力。此外,还详细解析了特性的使用方法及其在代码注解和元数据扩展中的重要作用,为开发者提供了丰富的编程技巧和实践指导。 ... [详细]
  • 在处理大量快递单号时,如何高效地获取每个单号的物流信息并筛选出未签收的订单进行追踪?本文将介绍一种智能方法,帮助用户快速批量查询快递物流状态,并自动筛选出未签收的订单,以便及时跟进其最新进展。 ... [详细]
  • 本文深入解析了Java面向对象编程的核心概念及其应用,重点探讨了面向对象的三大特性:封装、继承和多态。封装确保了数据的安全性和代码的可维护性;继承支持代码的重用和扩展;多态则增强了程序的灵活性和可扩展性。通过具体示例,文章详细阐述了这些特性在实际开发中的应用和优势。 ... [详细]
  • 《初到东周赠孟郊》译文与原文赏析——唐代诗人刘言史作品解析 ... [详细]
  • JMeter入门指南:基础操作与应用技巧
    在完成 JMeter 的安装后,用户即可开始进行性能测试。本文详细介绍了 JMeter 的基础操作和应用技巧,重点讲解了线程组的分类及其配置方法。通过具体的实例,帮助初学者快速掌握 JMeter 的核心功能和常见应用场景。此外,还提供了优化建议和实用技巧,以提升测试效率和准确性。 ... [详细]
  • 在区块链网络中,有一群被称为“矿工”的参与者,他们通过运行高性能计算设备来维护和验证交易记录。这些矿工每天都会定期检查和更新区块链的数据,确保整个系统的安全性和可靠性。他们的工作不仅需要高度的技术支持,还需要持续的精力投入,以应对不断变化的网络环境和技术挑战。 ... [详细]
  • 本文详细探讨了在PHP中实现毫秒级时间戳的技术方案,重点讲解了如何处理 `microtime` 函数的返回值以获取高精度时间戳。通过具体的示例代码,展示了该方法的简便性和实用性,适合需要精确时间记录的应用场景。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 寡妇制造者瞬镜机制详解与应用技巧 ... [详细]
  • 在探讨 MySQL 正则表达式 REGEXP 的功能与应用之前,我们先通过一个小实验来对比 REGEXP 和 LIKE 的性能。通过具体的代码示例,我们将评估这两种查询方式的效率,以确定 REGEXP 是否值得深入研究。实验结果将为后续的详细解析提供基础。 ... [详细]
  • 神经元研究动态:城市大脑标准化体系及评估指标综合框架分析
    神经元研究动态:城市大脑标准化体系及评估指标综合框架分析 ... [详细]
  • 单链表的高效遍历及性能优化策略
    本文探讨了单链表的高效遍历方法及其性能优化策略。在单链表的数据结构中,插入操作的时间复杂度为O(n),而遍历操作的时间复杂度为O(n^2)。通过在 `LinkList.h` 和 `main.cpp` 文件中对单链表进行封装,我们实现了创建和销毁功能的优化,提高了单链表的使用效率。此外,文章还介绍了几种常见的优化技术,如缓存节点指针和批量处理,以进一步提升遍历性能。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
author-avatar
江南西道longge
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有