前段时间老板交待给我一个任务,让我设计一套租户管理系统,里面涉及到通用权限管理。听起来这个系统好像有点复杂,其实分解下来,无非就是我们之前常见的权限管理模块的升级版。因此,这套系统中最基础的模块,其实就是权限管理这块。
权限管理系统,说复杂也不是那么复杂,说简单也不是那么简单,把功能做出来,想必找点资料看看,大部分人都会有思路,但既要把功能做出来,又要让用户使用的简单便捷,就有一定的难度。
今天我就跟大家分享一下近期我设计的权限管理模块,跟大家一起讨论交流。
1)通俗一点说,权限管理,就是一个管理员,能够给用户分配权限,也就是管理员能够对用户进行权限管理。那么这里面涉及到三个关键词,管理员、用户、权限。按照这个逻辑,很容易形成下图1这样的三角关系。梳理了这个三角关系,就可以设计产品了。管理员新建用户,再给用户赋予权限,这样产品功能就实现了。需要进一步思考的是,给用户直接赋权限,如果该模块使用的用户比较少,只有几个人、或十几个人,这样做也是可以的。
但如果你所在的公司比较大,使用该功能的人比较多,或者说我们要做一个通用型的功能模块,那么只考虑到这层,仍有点欠缺。所以,这个三角关系需要完善,由此引入角色这一层关系,将权限和用户隔离开,通过中间介质“角色”来完成用户的赋权。把权限赋给角色,让后给用户分配相适应的角色来实现最终给用户的赋权。(如下图2)
2)上面把权限管理的设计理念和逻辑进行了解释,那么接下来就要考虑具体的设计了。那么具体画原型的时候需要设计哪些内容呢?我们从第二幅图说开来。从图2可以看到,管理员需要新建用户和角色,那么就涉及到两个功能点:一是新建用户页面,这个功能点需要达到以下要求:可以新建用户(新建用户时需要录入用户基本信息和设置用户登录密码)、给用户分配角色,对用户进行禁用、启用的设置,比如用户出现异常情况,管理员可以对其禁用,这样用户在被禁用之后就无法继续操作后台管理菜单了。支持删除、编辑、查看用户信息。二是维护系统角色,并给角色赋予权限,可以批量将用户添加到角色里。
最后从图2中看,还有个功能点就是权限的维护。权限一般说来包括菜单权限、操作权限、数据权限、字段权限。这一期我们就只讲菜单权限和操作权限的维护,数据权限、字段权限比较复杂一些,一般情况下用到的也不是很多,我们下一期专门分享数据权限和字段权限怎么设计。
菜单权限就是系统的页面层级,在权限设计中需要单独维护菜单的树状结构,根目录、菜单以及菜单涉及到的各个按钮,这些就是菜单权限和操作权限(即操作按钮权限),如果需求不需要涉及到操作权限,维护菜单权限也就足够了。
通过上述描述,功能结构如下:
先维护基础模块信息,把菜单权限和操作权限维护好,然后建立各种角色,为相应的角色赋权,最后新建用户,为用户添加角色,这样管理员就能有效对用户进行管理了。
3)上面将到权限涉及的理念和细节问题,接下来我们把原型图附上,结合原型图再来解释一遍,这样就更容易理解了,直接上图。
菜单管理
角色管理
添加用户
结语:
本篇文章分享结束,希望对权限设计感兴趣的朋友有帮助。需要交流的朋友可以加我微信号:twiyou1314
网友评论