基于RBAC的权限管理系统
相信做过CRM管理系统的人都知道RBAC,基于角色的权限管理系统,在一定程度上他能满足自定义权限的一些设置,可以自由给用户设置权限,但是他也存在一些问题,所以在这里我想简单分享一下。
接口太多维护困难
传统的RBAC的问题就是针对后端的接口进行配置权限,但是随着业务发展,一些老的接口被废弃,一些新的接口不断被添加进去,而导致到最后新建一个角色给他配置权限时,往往都是宁可多给也不少给。
所以个人建议不要贪图很详细的权限配置,针对一些重要的点进行权限配置,放弃一些无关紧要点,这样不能从根本上解决以上问题,但是可以将时间往后延缓。
想想,如果以前配置权限的人离职了,并且没有留下说明文档,那么在一个接手的人该怎么办?最安全的办法就是把以前的权限都勾选上,再把新的勾选上。
权限是平级的,多流程上配置时困难
一般的权限配置是一个接口一个权限点,但是往往一个业务需要多个流程,即多个后端接口,这时为了使一个业务成功,就需要为一个功能点配置多个权限点。如果继续采用以上的权限配置,那么开通一个权限时,必定要开通下一个权限,否则临近上线后带给用户的体验就是点击一个按钮报“您无权限,请联系管理员开通”之类的,业务一定会来找你抱怨。
所以为了解决以上问题,建议将平行的权限配置成有上下级关系的,当选择了底级的权限时,会自动将上级的权限自动也勾选上,这样就可以抛开人为记住这些权限点的关系的方式。
但是这样还是存在一个问题,就是底层接口复用&#x