通用化的权限系统怎么设计

毕业后,一直负责的方向都是后台系统相关,在负责后台系统时总是会接触到鉴权系统相关的,总结一下小小的经验。

一、权限系统设计的必要性

权限系统对于任何一个后台系统来讲,都非常重要;

1、系统的安全性:没有准入信息的用户是不允许看到信息了,不然会涉及到信息泄露

2、效率:每个用户看到的权限一样的情况下,就失去了聚焦于不同用户想看到的权限了

3、管理:每个用户看到的权限一样时,信息的管理也是非常麻烦的

4、业务关联:有些系统会把一些用户或者说是角色放到一个任务系统逻辑里面去;每个用户权限一样就无法和业务关联进行相应的操作了

二、不同阶段的权限系统的设计

其实权限系统的权限管理,会包括编辑、删除、只读等几个权限;包括业务操作权限和数据查看权限等等

权限系统的设计需要和业务发展关联,追随业务系统的发展;

1、前期为快速上线,可以实现简单的关系;甚至当前起用户少,角色少的时候,这些逻辑都不需要页面支撑,直接先写到代码里面;

2、引入前端页面:随着业务的发展需要在前端可编辑可操作

3、引入分组:随着用户量的增大,慢慢引入用户分组的概念;使得管理用户时,主要通过用户和分组关联,分组和角色关联

4、引入权限集:权限太多了,管理不过来;避免多次增删权限的概念,将权限分配到一个集合里,使得角色和权限集关联就好

5、扩展权限的概念:权限可以是一个页面,可以小到一个url的操作按钮

通用化的权限系统怎么设计_第1张图片
权限系统的演变

顺便可以看看目前一个成熟的权限系统的设计架构

通用化的权限系统怎么设计_第2张图片
权限系统设计

你可能感兴趣的:(通用化的权限系统怎么设计)