【权限设计】最好的权限设计,是先区分功能权限和数据权限

本文为我们介绍了功能权限和数据权限的不同点、以及不同部分中的要点与注意事项。

做2B的系统总是不可回避的遇上权限问题,他不是核心业务却又必不可少,而且总是牵一发而动全身,更要命的是不同客户组织架构完全不同,功能复用性很低。有没有什么方法论能快速理清权限问题呢?

我们一般说【权限】的时候是在说功能权限和数据权限。功能权限指用户登录系统后能看到什么模块,能看到哪些页面,而数据权限指的是用户在某个模块里能看到几条数据,能看到哪些数据。以下分别描述一下我对功能权限和数据权限的理解。

功能权限

在企业系统中,通过配置用户的功能权限可以解决不同的人分管不同业务的需求,但是如何实现快速配置?功能的粒度是模块级的还是页面级的还是更细粒度的?跨模块操作时没权限怎么办?
在这里插入图片描述

RBAC模型

说到功能权限不得不说RBAC(Role Based Access Control)模型,它的中文是基于角色的访问控制,主要是将功能组合成角色,再将角色分配给用户,也就是说角色是功能的合集。RBAC有多个成员,但是基础的RBAC0就足够我们涉及的系统使用了。

为什么要引入这个模型呢?请看以下的例子:

企业A一共有12个功能,需要创建100个用户,这些用户中有管财务的、有管人事的、有管销售的等等。如果不引入RBAC模型,我们需要每创建一个用户就要分配一次功能,至少(每个用户只有一个功能)操作100次,如果人数增加到1000甚至10000,并且一个用户可能会有多个功能的时候,操作会非常繁琐,如图:
在这里插入图片描述
经过多次操作发现:分配给某些人的功能都是相同的,比如分配给A、B等10个用户的功能都是客户管理、订单管理及供应商管理这几个模块,那是不是可以把这几个功能模块打成一个包整体分给需要的用户呢?

这个包就叫做角色。由于角色和功能的对应关系相对固定,给用户分配权限的时候只分配角

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值