SAAS系统下基于RBAC的权限设计(1)

前言

这个系列将会阐述这些年来在企业中个人所了解到的SAAS系统设计,将个人的认知以及经验作为一个整体的输出;希望这个系列能启发到各位,同时也希望能得到各位的反馈,来提升认知的以及更广阔的视野。

相关概念

用户(User):使用系统的实体,需要访问系统中的资源。
角色(Role):一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。RBAC通过角色来关联用户和权限,一个用户可以拥有一个或多个角色。
权限(Permission):执行特定系统功能的权利,如读取、写入、执行等。在RBAC中,权限与角色相关联,而不是直接与用户关联。
会话(Session):用户与激活的角色集合之间的映射。一个用户可以同时激活多个角色,每个角色都有其对应的权限。
在这里插入图片描述

设计思路

  1. Permission是SAAS系统的最小粒度单位,是系统的功能及Api的总体集合
  2. 基于Permission,将角色、组织、租户进行会话的绑定,也就是常说的权限的分配
  3. 用户(User)则是角色、组织、租户的最小组成单位
  4. 基于SAAS系统的多租户的概念下,租户则是基于开放能力的不同,Permission母集合下的子集合
    在这里插入图片描述
    如上图所示,展示的是租户-组织-角色-功能的关系图。接下来我们系统设计,则是从功能->角色->组织->租户一层层往上开发设计。
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RBAC(Role-Based Access Control)是一种权限管理模型,它是建立在角色的基础上,将用户分配给角色,再根据角色的权限授予对应的资源访问权限。这种模型可以有效地管理大规模应用系统中的权限问题。下面是基于RBAC权限管理系统设计分析: 1.确定系统需求:首先要确定系统的具体需求和功能,包括用户界面、权限设置和管理、角色管理、资源管理等方面。同时需要明确系统的主要目标是什么,以便在设计时保持一致性。 2.确定角色:根据系统需求,确定所需要的角色类型和数量,包括系统管理员、普通用户等。在设计时应该合理分配权限,避免角色间权限重叠或漏洞。 3.确定资源:确定系统中的资源,包括数据、程序、文档等,依据资源的重要性和保密性进行分类,在角色分配时考虑资源所属角色的权限。 4.权限授予:根据角色的不同,授予对应的资源访问权限,包括读取、修改、删除等。在授予权限时要严格按照角色的权限定义进行操作,避免数据泄漏和滥用。 5.权限审核:对所有权限的修改和删除操作进行记录和审查,定期对权限进行审核,保证系统的安全性和稳定性。 6.权限维护:系统上线后,需要对权限进行维护和更新,包括新增角色、修改权限、删除角色等操作,同时定期对系统进行安全检查和修复漏洞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值