用户、角色、权限之间的管理处理

在日常的开发中权限控制是最基本常用的功能,尤其是在搭建框架时,如何处理好这一层关系是至关重要的。角色是权限的集合,而用户基于角色进行权限控制。角色与权限是多对多的关系,用户与角色是一对多的关系,一个用户有一个角色,一个角色可以有多个用户(当然也可以是多对多的关系,例如一个用户属于一个角色组(里面存在着多角色),一个角色组属于多个用户)。这里的关系已经很明确了,那么对于权限问题又是如何进行管理控制的呢?

我们都知道,权限的控制操作就是对一些菜单和按钮的访问控制。菜单表存在着多级的关系,最下级菜单一定会对应着某一个页面,这个页面上有一些按钮(比如增删改查操作等等),一个菜单有多个按钮,一个按钮只能有一个菜单,这里面是一对多的关系。菜单表最好加入一个字段order用于菜单的排序使用。一个权限对应于一个菜单,一个菜单对应于一个权限,这里是一对一的关系,同时,权限还应该有一个字段用来存储可以操作的按钮集合,一个字段用来存储角色主键。至此权限与菜单、角色与权限关联起来了。

接着用户表需要与角色表关联起来,由于是一对多的关系,因此只需要在用户表里面添加角色id,至此用户与角色关联起来了。接着需要处理用户与组织机构之间的关系,一般来说组织机构是指某个公司上下级之间的层级关系。所以在用户表中需要用一个字段来存储组织机构的主键,组织机构实现自关联。而组织机构与地区区域表之间并不一定会有关系。这需要根据实际的需求来定。

当然在实际的开发过程中,还需要有一张字典表用来存储系统在运行过程中的常量信息,例如对于select下拉框信息,往往需要这里面的选项,存储在字典中,在初始化页面的时候会自动查询数据库,加载相关的内容。实际的公司产品或者公司框架基本上都是通过以上技巧来进行基本管理平台的开发。

 

posted on 2018-03-16 11:47  撒哈拉狼  阅读(680)  评论(0编辑  收藏  举报

导航