功能、资源权限管理的设计

本文介绍了RBAC模型在管理系统用户功能菜单和物理资源权限中的应用,详细阐述了权限管理模型设计,包括功能权限和资源权限的E-R设计。同时,分享了针对Java开发者的全套学习资料,涵盖基础知识、进阶课程和面试准备,旨在帮助工程师提升技能并降低学习成本。
摘要由CSDN通过智能技术生成

一、目的

====

管理系统用户的功能菜单权限,物理资源(文件、数据)权限。

二、RBAC模型设计

==========

RBAC简介


BAC模型(Role-Based Access Control:基于角色的访问控制)模型是一种权限实现模型,是系统权限设计中的一套方法论。

RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为Who、What、How的问题,Who、What、How构成了访问权限三元组。

RBAC模型的核心对象为:用户、角色、权限

资源管理简介


系统资源可分为逻辑资源和物理资源。逻辑资源如软件系统的菜单、页面、按钮等等;物理资源如视频文件、音频文件、pdf文件等等。

其中逻辑资源可以通过权限来控制,物理资源可通过在角色下设置资源列表,通过角色关联资源列表实现,也可直接将用户和资源列表关联实现。

权限管理模型设计


所有的权限管理最终都要落到用户身上。

功能权限E-R设计

  • RBAC0模型为基础建立核心业务实体:单位(公司/部委/组织机构)、部门(科室)、用户、角色、权限

  • 使用关联实体为核心业务实体建立映射关系:用户角色、角色权限等

  • 为方便数据查询和业务拓展,增加单位权限、单位角色映射关系。此两项非必须。

  • 可按照RBAC1模型的设计思路,增加角色组,用户关联角色组、角色组关联角色,角色关联权限。从而实现更细粒度的权限管理。

  • 可按照RBAC1模型的思想,将部门和用户的映射关系修改为m:n,将能够实现一个用户归属多个组织的权限管理。如分公司的董事长同时兼任集团公司部门领导的情况。其中隐含了单位和部门关系为多对多,部门和用户关系为多对多。当用户登录的时候,让用户自己选择需要在哪个组织下工作。鉴于这种情况的项目相对而言为少数,大部分项目没有那么复杂的组织架构,可以对外提供两套解决方案。

资源权限E-R设计

业务弱关联性设计

建立如下资源和业务实体的映射关系:

  • 资源本身作为一个业务实体,为资源划分类型

  • 资源和单位建立映射关系,用户隶属于单位

  • 资源和部门建立映射关系,用户隶属于部门

  • 资源和角色建立映射关系,用户关联角色

  • 资源和行政区划建立映射关系,用户关联行政区划或部门关联行政区划或单位关联行政区划

  • 拓展:资源和XXX业务实体建立映射关系,用户关联XXX业务实体

优点:资源和业务实体为弱关联性,可封装成微服务组件对外赋能

缺点:关系模式更加复杂,开发、运维成本高

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

Java高频面试专题合集解析:

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

更多Java架构进阶资料展示

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等

阿里Java岗面试百题:Spring 缓存 JVM 微服务 数据库 RabbitMQ等
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
mg-J6a3YxcC-1713550748394)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值