权限管理

权限管理

摘要

在一个系统中,权限管理是非常重要的,如何实现不同的用户拥有不同的权限,其中牵涉到复杂的后端业务逻辑。一开始接触到权限管理是一个电商后台管理系统的项目,起初学习的时候并不是很明白权限控制的逻辑,只知道从接口中取数据然后渲染到页面上,并不知道如何控制不同的用户访问不同的页面。在项目的开发过程中,也只是一直用的admin的账号进行操作。并不清楚其他账号跟admin账号有什么区别。另外,在本电商后台管理系统的项目中,权限管理在整个项目中占到三分之一的部分,可见权限管理在系统的应用中占到举足轻重的地位。

用户

在一个系统中,操作此系统的人(如张三,李四)被称为用户,每一个用户身上除了具有一些基本的属性如id,name,email等,还具有一个角色属性role,含义是此用户所扮演的角色。在用户管理界面中,可以新增用户,编辑用户,删除用户,查找用户。在新增用户和编辑用户的对话框中具有基本属性配置和角色配置的配置项。

角色

在现实生活中,我们每个人都扮演着各种各样的角色,可以是医生,警察和程序员,并且每个人可以扮演多重角色,每一个角色又有着不同的权力或者说是权限。但在一个系统中,角色的范围则大大缩小,主要跟使用此系统的群体有关,同时角色所拥有的权限也跟此系统有着密不可分的关系。在一个系统中,角色指的是使用此系统的用户的分类(如主管,经理,销售),并且一个用户有且仅有一个角色。每一个角色身上除了具有一些基本的属性如id,name之外,还具有一个权限属性right,含义是此角色拥有的权限。在角色管理界面中,可以进行新增角色,删除角色,修改角色,查找角色的操作。在新增角色和修改角色的时候,除了要提供角色的基本属性外,还有对此角色的权限进行配置。

权限

在系统中,一个用户可以访问到一个页面,也就是说这个用户具有访问此页面的权限,在系统的用户管理界面中,用户可以看到用户的列表,表示当前用户具有访问用户列表的权限。新增用户,删除用户,修改用户分别代表着一种不同的权限。在权限管理界面中,仅提供给用户一个权限列表,用户并不能进行权限的增删改的操作。这主要是由于权限的控制由后台来提供,系统的每一个操作,都由后台或者说是业务逻辑来定义,当我们给一个角色分配了权限,给一个用户分配了角色,也就决定了这个用户能进行哪些操作或者说具有哪些权限。

总结

用户-角色-权限】这样的一种权限管理模式构成了权限管理铁三角,其中权限的部分对前端开发人员只提供了一种给角色分配权限的操作,权限的管理很大程度上是由后端来决定的。切换登录用户的时候,根据给此用户分配的角色所拥有的权限来进行页面的渲染和赋予用户一些数据的增删改查操作。

posted @ 2020-04-16 22:32  青青U衿  阅读(346)  评论(0编辑  收藏  举报