这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战
前言
最近想要重构管理后台项目,处理新的管理后台模板的时候感觉权限菜单模块较为复杂,并且每个项目对应的处理方式会随着需求和服务端的变化而变。
这个前提下想到了能不能抽离出所有项目的权限菜单模块,统一管理呢,接下来是一些思路的整理
权限后台
角色管理
角色管理可以分解成本后台的角色管理和单独项目的角色管理。权限后台的每个用户都接受权限后台管理员的管理,比如划分项目
被权限后台管理员添加的项目管理员可以任意处理当前项目的角色,每个项目尽量只分配一个项目管理员
菜单管理
当角色处理完成,项目角色对应的菜单和我们常用的一致。当然也可以有自己不同过的处理方式,这时候可以考虑搭建统计的菜单管理
需要面对的问题
并发
因为属于后台项目,调用的频次不会太高,不用考虑过多的并发问题
容灾
权限后台可能维系着整个公司的管理后台项目,如果出了问题那么面临的可能是全部管理后台权限模块的崩溃。如何解决此类突发事件尤其重要
迭代成本
从服务端角度来看每个项目的权限不需要关心,但是可能多出了权限后台和服务端进行的鉴权步骤。
前端方面,可以节省开发权限的时间,其他基本不受影响
权限后台方面,每次创建新项目的时候需要单独迭代,那如何解决灰度发布
展望
中间件
权限后台的服务端是我们自己维护,那么我们也可以推出中间件的概念,按照特定的标准处理数据
总结
上面是我对于权限后台的大概想法,和同事沟通之后才发现需要面对一些不可避免的问题。尤其容灾和稳定性方面考虑的很少,和现有服务端的稳定方案差距很大
但是呢,正因为我平常比较少机会接触到这方面的需求,考虑问题会有一些局限性,就是那种不经历一下不知道事情严重性,那我就打算经历一下😁
就我目前的应对能力,接下来大批量的项目采用权限后台方式肯定是力所不能及的,打算完善这个方案搭建 demo,然后用正式项目来考量权限后台