模型|B端后台“权限设计”的99种解法与反思
编辑导语:合理的B端后台权限设计体系将有助于协助用户处理更多事务,提升用户的操作效率,也降低风险发生的可能性。那么,你了解权限设计中的每个模型吗?本篇文章里,作者从自身经验出发,阐述了B端后台权限设计的多种解法,一起来看一下。
文章插图
“权限设计”是中后台的底层设计,它是系统设计中最为重要的一环。
优秀的权限设计能够有效提高系统的安全性、降低用户误操作,数据泄露的风险;差劲的权限设计,往往会导致系统流程不通,系统的稳定性和安全性受到威胁。
而产品经理在设计权限时,往往会一头雾水,不知从何下手。
其问题在于:一方面开源的权限产品较少,产品经理无从体验,借鉴。另一方面关于权限的文章良莠不齐,缺乏系统性的文章帮助了解权限构成,产品们只能摸着石头过河,犯一些认知之外的错误。
对此,笔者根据此前的产品实操经验,整合互联网优秀权限文章,输出自身关于权限的浅薄认知,望能起到些抛砖引玉的作用。
一、权限的定义是什么?权限,百度百科将其定义为:“保证职责的有效履行,任职者必须具备的,对某事项能进行决策的范围和程度。”
但笔者理解为:“不同的对象在不同使用场景下,所需要的产品相应的权力和责任的统一,其核心为权责明晰,权责分离,目的是建立分配资源的规则,以便用户能够通过这套规则,获取他们应获得的资源。”
二、权限的维度有多少?通常情况下,我们会将权限分成两个维度,分别为功能权限和数据权限。功能权限是指用户能够做什么样的操作,或者访问哪些资源,使用哪些功能;数据权限是指哪些数据属于你,或者属于你可以操作的范围。
从颗粒度维度来分,功能权限的颗粒度从粗到细一般分为“模块级”>>“页面级”>>“接口级”,由此引申出了常说的页面权限、模块权限、接口权限。
数据权限的颗粒度从粗到细一般分为“对象级”>>”字段级”,由此引申出对象级数据权限(具体到实际用户)、字段级数据权限(具体到表单字段)。
文章插图
从权限操作维度来说,权限操作可以分为授权和鉴权。
- 鉴权是指验证用户是否拥有访问系统的权利,一般是指针对具体人的行为,根据权限规则进行合法性鉴别。在逻辑上,鉴权一般先于授权。
- 授权一般可理解为是分配给具体的权限给具体的人。它可分为功能授权和数据授权。

文章插图
数据授权和功能授权不同,数据是多维的,是抽象的。因此,在做数据授权之前,往往需要考虑对数据维度进行拆分,而数据是抽象的,我们不能具象地看待单个用户的某一条数据,那没有任何意义,而是要内置抽象的规则,通过抽象的规则,去寻找数据背后的联系。

文章插图
三、权限设计的模型有哪些?1. 自主访问控制(DAC:Discretionary Access Control)
自主访问控制是指由用户有权对自身所创建的访问对象(文件、数据表等)进行访问,拥有对象权限的用户。
可将对这些对象的访问权授予其他用户和从授予权限的用户收回其访问权限,此类权限模型往往应用于文档系统的权限设计,例如微软的NTFS文件系统。
推荐阅读
- B端|赋能B端业务新变化
- mZoom已经修复了macOS客户端中一个被广泛报道的漏洞
- 页面|作为产品经理,如何优化后台系统
- 启示录|B端吃透系列:集体人格之设计启示录
- 模型|从零建立赋能业务的数据中心「逻辑框架」
- 模式|生鲜电商的C端隐忧、B端瘦身
- G黄冲:从PC端到移动端,当下服装产业如何依托互联网破局?| 门店
- web|Axure实战规范分享:后台web网站
- 高端|良品铺子到底是打着高端零食的幌子加价,还是真的物有所值?
- 高端大气上档次|刘强东到底有多少钱?豪宅曝光后大开眼界,网友:充满金钱的味道!