权限菜单设计

Posted 河畔一角

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限菜单设计相关的知识,希望对你有一定的参考价值。

1.权限的作用意义

顾名思义,“权”代表“权力”,划分了系统的职权,不同的用户拥有不同的权力划分;“限”代表“限制”,在权力划分的基础上对职能范围进行了限制,本文所述的权限相对简单,赋予不同角色看到不同菜单的权限。

权限控制能较好地解决系统安全问题,避免公司机密资料外泄,同时,不同部门使用系统时互不干扰,因此被企业广泛应用。

2.梳理用户、角色的概念

(1)用户

用户是指系统的登录用户,可以理解为一系列的人员,例如登录用户为张三、李四、王五和肖六这几个人。

(2)角色

角色指用户在系统中担任的角色,是系统赋予用户的头衔,例如A公司后台系统角色可以定义为:总裁、经理、员工。

3.选择合适的权限模型

(1)传统的权限模型

在早期,传统的权限模型就是为用户分配菜单权限,例如张三看到A、B、C菜单,李四看到B、C菜单,王五和肖六看到A、B、C菜单,这种传统的权限模型简单粗暴,直接为用户分配菜单即可,但是随着公司员工激增,在动则数百人的公司里,没一个员工都要分配一次,显然效率太低。

并且,在进行交互设计时,定义数百名用户拥有的菜单权限,那需要写数百行的表格。

技术分享
 

(2)RBAC权限模型

RBAC,即基于角色的访问控制(Role-Based Access Control),是优秀的权限控制模型,主要通过角色和权限建立管理,再赋予用户不同的角色,来实现权限控制的目标。

利用该模型来配置权限,直接优点是角色的数量比用户的数量更少,先把权限赋予角色,即可完成权限的分配;再为用户分配相应的角色,即可直接获得角色拥有的权限。

交互设计的福音,只需定义有限的角色拥有哪些菜单权限即可。

技术分享
 

(3)模型其他注意事项

在选择第二种RBAC权限模型时,需要注意,用户——角色——权限之间并非是一对一的对应关系,例如,一个用户可以拥有多种角色,一个角色也可以拥有多个权限,所以应该是多对多的关系,需要和开发说明清楚。

技术分享
 

4.菜单实现效果

如图所示,通过权限控制后,不同用户登录进去看到的菜单显示都不一致,基于角色来进行菜单展示。

(1)总裁角色,菜单A、B、C

技术分享
 

(2)经理角色,菜单B、C

技术分享
 

(2)员工角色,菜单C

技术分享


作者:夜雨y
链接:http://www.jianshu.com/p/d1df0f7280c6
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于权限菜单设计的主要内容,如果未能解决你的问题,请参考以下文章

权限菜单设计

菜单管理,权限管理,用户管理界面设计

如何根据权限设计菜单栏

Laravel设计RBAC权限管理出API接口

权限系统设计详解

EasyUI--根据用户权限显示左侧菜单数据库表设计