前言
权限管理是几乎所有管理后台的通用功能,虽然,不同的系统有不同的个性要求,但从总体来看,权限管理通常包含管理员管理、角色管理、节点管理、菜单管理等几部分,涉及管理员表、角色表、节点表、用户角色表、角色节点表、菜单表等几张表。
权限管理实现起来并不难,很多框架都有其自己的实现类库。如,PHP中的Laravel框架、ThinkPHP框架等。
不过,由于不同的框架,其目录结构及编码规则不一样,多数情况下,若你想将一个系统中的权限管理模块移植到另一个系统中你是需要重新编码的。这样就造成了很多不必要的重复性劳动。
那如何解决这个问题呢?答:将权限管理系统独立起来,多业务共用同一套权限管理系统。
优点
多业务共用同一套权限管理系统的好处是不言而喻的。
首先,不受业务限制。由于这样的权限管理系统是独立于业务部署的,不需要嵌套在业务代码中,所以,不管业务使用什么编程语言,什么框架,我们都不需要特地去适应它。我们要做的就是让业务按照统一的接入规则接入即可。
其次,方便维护。由于所有的业务共用一套权限管理系统,所以,你只要维护好这个公共的权限管理系统,基本上就能保证权限管理系统的正常使用。
最后,易于扩展。由于这样的权限管理系统使用统一的接入规则,所以,业务只要按照接入规则接入,就可以立马使用权限管理系统。
原理
如下是多业务共用一套权限管理系统的原理图。