怎么实现角权限的分配_一文详解权限体系(功能权限与数据权限)

怎么实现⾓⾊权限的分配_⼀⽂详解权限体系(功能权限与数
据权限)
中后台产品经理基本都会碰见⼀个问题:权限!在产品设计过程中,或多或少都会涉及到这⼀点,其实,权限体系已经是⼀个⽐较成熟的体系,刚好公司的权限系统⽐较⽼旧,要求结合现有的业务,重新设计扩展性较强的权限系统,本⼈有幸主导整个项⽬,现在给⼤家分享⼀下,权限系统设计的雷区,希望能给⼤家⼀些好的建议。
菌类生产⼀.什么是权限系统
什么是权限系统呢?权限系统就是不同部门,不同的⼈所拥有的权⼒是不⼀样的,例如运营部门同事与⼈事部门同事的权限是不⼀样,研发经理的权限与研发组员的也是不⼀样的,这些不⼀样都是取决于⽤户的⾓⾊的不同。我主要是借鉴RBAC(Role-Based Access Control)权限模型,再结合本公司当前的业务现状,推动整个项⽬。
测绘工具
权限主要分为两个⼤块:功能权限(界⾯权限、菜单权限、操作权限等)和数据权限。功能权限与数据权限分开配置,充分解耦。接下来,我将逐⼀讲解功能权限与数据权限将如何结合起来。
⼆.功能权限
RBAC模型最⼤的⼀个便利点就是:不直接将权限赋予在⽤户⾝上,⽽是通过⾓⾊的媒介过渡,先将权限赋予在⾓⾊上,再关联相应的⽤户,对应的⽤户就继承了⾓⾊的权限,对应关系如下图所⽰。
引⼊⾓⾊媒介的优点:
1.实现了⽤户与权限的解耦
2.提⾼了权限配置的效率,只需要建好对应的⾓⾊就⾏
三.数据权限
数据权限呢,指得是⽤户的数据读写权限,他可以查看哪些数据,可以处理哪些数据的权限。本次设计中的数据权限,我选择的是关联组织架构,根据⽤户所处的组织架构关系,赋予数据权限,如下图所⽰。
arm7开发板
如图所⽰,公司组织架构⼀般都是树状组织架构,每个部门都是⼀个结点,每个结点上都绑定了不同的⼈。数据权限指得就是如何处理结点间数据共享的问题。结点间数据如何共享可以根据公司实际业务来设置相应的规则。我这次项⽬采⽤的结点数据规则如下:
1.⽗结点可以管理所有⼦结点的数据:⽤户1可以管理⽤户3.4.5.6.7.8.9的数据
2.结点⾥的⽤户只能管理⾃⼰的数据:⽤户7只能管理⾃⼰的数据
看到这⾥的同学,千万不要以为数据权限规则设置就万⽆⼀失了,还有⼀些特殊情况需要考虑。
1.同结点下的⽤户在实际⼯作中有上下级关系,数据权限如何切分?例如:⽤户3是⽤户4的上级,⽤户3可以看到⽤户4的数据,⽽⽤户4只能看⾃⼰的数据。
2.跨团队的数据权限,⼜要如何配置?例如:⽤户3想要查看中台组数据
很显然,这两种特殊情况,在之前创建的模型中是解决不了,因此,我在数据权限模块设计了两次数据规则,第⼀处就是全局数据规则,也就是组织架构对应数据规则;第⼆处是在⽤户选择⾓⾊的时候,可以配置个性化数据规则,如下图,这样就解决了上述两个问题。
删除部分⾓⾊或者部门,这时,我们的删除
雨污分流器
系统的删除功能,由于业务需要,我们需要删除部分⾓⾊或者部门
另外,还有⼀个很重要的雷区需要特别⼩⼼,就是系统的删除功能
秸杆燃气炉逻辑要怎么处理呢?⼤家可以想⼀想,假设我们需要删除的⾓⾊与部门下都已经关联了⽤户,此时要删除需要如何处理这批⽤户呢?让我来猜测⼀下,可能⼤家会说,先批量移除⾓⾊或者部门下的⽤户,然后才允许删除。这个逻辑也是可取的,是正确的,但是对删除这操作来讲,太⿇烦了。有⼀个相对来说简单⼀点的处理⽅法:系统先设置⼀个未分配⼈员组,删除了某个⾓⾊或者部门过后,该⾓⾊或部门下关联的⽤户都进⼊未分配⼈员组,然后我们再对这些未分配的⼈员重新分配⾓⾊即可了,这个⽅案是不是要简单许多!
塑料水塔以上就是我设计权限系统所遇见的⼀些雷区和对应的解决⽅案,分享给⼤家!我是唐诗,希望能在知乎跟⼤家⼀起完成产品进阶之路!

本文发布于:2024-09-23 05:18:36,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/99316.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   数据   删除   系统   需要   设计   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议