基于RBAC的权限管理系统

基于RBAC的权限管理系统

相信做过CRM管理系统的人都知道RBAC,基于角色的权限管理系统,在一定程度上他能满足自定义权限的一些设置,可以自由给用户设置权限,但是他也存在一些问题,所以在这里我想简单分享一下。

接口太多维护困难

传统的RBAC的问题就是针对后端的接口进行配置权限,但是随着业务发展,一些老的接口被废弃,一些新的接口不断被添加进去,而导致到最后新建一个角色给他配置权限时,往往都是宁可多给也不少给。

所以个人建议不要贪图很详细的权限配置,针对一些重要的点进行权限配置,放弃一些无关紧要点,这样不能从根本上解决以上问题,但是可以将时间往后延缓。

想想,如果以前配置权限的人离职了,并且没有留下说明文档,那么在一个接手的人该怎么办?最安全的办法就是把以前的权限都勾选上,再把新的勾选上。

权限是平级的,多流程上配置时困难

一般的权限配置是一个接口一个权限点,但是往往一个业务需要多个流程,即多个后端接口,这时为了使一个业务成功,就需要为一个功能点配置多个权限点。如果继续采用以上的权限配置,那么开通一个权限时,必定要开通下一个权限,否则临近上线后带给用户的体验就是点击一个按钮报“您无权限,请联系管理员开通”之类的,业务一定会来找你抱怨。

所以为了解决以上问题,建议将平行的权限配置成有上下级关系的,当选择了底级的权限时,会自动将上级的权限自动也勾选上,这样就可以抛开人为记住这些权限点的关系的方式。

但是这样还是存在一个问题,就是底层接口复用,即一个后面的接口被另一个业务所使用了,这样就会造成权限的关系越来越混乱,所以个人建议,就控制一个业务开始接口的权限,这样会有危险性,但是你可以尝试将一些关键属性进行加密,比如最常用的id进行哈希加密。这样即使别人拿到接口,也很难操作其他数据。

角色没有大小之分

在我们传统观念中,角色没有强,弱,大,小之类的区分,只是一个权限点的载体,但是在现实生活中,往往角色大的人拥有更大的权限,比如总经理的权限肯定比销售的权限大,但是你新开一个功能时,往往就是配置给相应的角色,不会对这些大权限的账号进行操作,这样就会造成,一些功能销售有,而总经理却没有。

也有一些做法是将一些账号设置成超管权限,即放开权限限制,开放所有权限,但是这样肯定会造成一些人不应该有那么大的权限,权限细分的问题还是存在,你绕不开这个关键问题,所以设计对应的权限系统时,可以考虑角色的上下级关系。

角色=公司职位

其实设计对应的角色,就是将系统使用的后端接口,给一个人所能见,所能使用的图形接口,所以你在设计权限系统的时候,不妨就是参考公司的岗位设置,因为系统肯定是给公司内部的人使用,最贴合他们的方式就是他们本身的身份。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值