对权限的思考

业界对权限主流的有3种

①ACL 直接权限②RBAC 基于角色的权限 ③ABAC基于属性的权限

其中ACL 从开发者的角度来看是 最友好的,门口设置一个门禁,要想开这个门禁 直接申请 这个门禁的权限

后来发现,不只是一楼入大门的时候有个门禁,上楼还有个门禁,二楼也还有。那打个包吧。让用户申请一次就有,就可以申请到他所需要的权限。所以这时候就要 基于他的角色打一个权限包,让用户去申请。

基于角色的申请确实解决了一些问题,但是有时候角色并不好理解。特别是设计权限包的时候,是有产品经理设计的。产品经理不可能向后设计得那么精准。即他考虑不全实际投入使用运营的时候申请人真正的角色是什么,导致申请人可能完全看不懂,他这个人应该申请什么样的角色,能得到什么样的权限。

ABAC 基于用户的属性去申请权限。这个是从用户的视角是思考,方便用户使用的一种权限模型。

比如男厕所有个门禁,ACL是去找到这个门禁,然后去申请这个门禁的权限。RBAC是申请一种角色,比如程序员角色,然后给予这个权限。ABAC是 你自己知道你是男性,然后用户申请一个 男性的属性,系统就自动给予权限。

在单个系统中三种权限模型的优劣势没有那么明显。但是在大规模系统中这个差异就被放大了。

篇幅有点长,明天继续。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值