在一般的中小型系统中,系统的权限管理对资源的控制其中积极的作用。今天我们主要研究一下权限管理部分。
首先我们看一个权限系统的系统需求:
第一、不同的职责的人具有不同的权限,相同职责的人具有相同的权限。人们通常把具有相同职责的人划分到一个组或者是部门。组的概念更加确切一些,因为一个部门中可能具有两个管理组,即领导组和职员组。
第二、满足系统的功能需要。能够对系统的资源进行良好的控制。
第三、系统的权限是可以扩展的,一个良好的系统是能够通过不断增加模块来进行扩展。权限的扩展要能够符合系统今后拓展的需要。
第四、便于理解和开发。
在这样一个权限系统中我们解决的是人、组、资源三者之间的关系。这三者之间的关系是人与组为多对多、组与资源之间多对多关系。通过如下
people ,people-group, group ,group-resouce, resouce 就可以建立关系。完成资源的控制。然而在一个系统中人、组、资源的概念并不是很明确,在这里我们转化为系统用语来表达,人为用户、组为角色、资源菜单。这里我们把菜单分为一级菜单、二级菜单、三级菜单。一级菜单和二级菜单是对三级菜单的分组,三级菜单是用户真正的点击操作菜单,这里我们把一级菜单称为大模块、二级菜单称为小模块、三级菜单称为具体权限。则英文表示为 User,Role,BigModule,SmallModule,Right五个对象,根据其关系增加以下几个关联对象User-Role(用户与角色多对多关系),Role-SmallModle-Right(角色月权限为多对多关系)根据分析设计如下。
User UserRole Role RoleRight BigModule SmallModule Right Id Id Id Id Id Id Id Name UserId Name RoleId Name Name Name Pwd RoleId SmallModelId Father RightId