转自:http://book.51cto.com/art/201205/340074.htm
在早期的企业信息化系统中,一般都是将权限的管理直接写在代码中,如果权限发生变化,就需要修改程序,而且有时候用户的需求在不断地发生变化,这给开发带来了很大的麻烦,因此,针对所有的信息系统开发一个共同的权限管理系统将非常必要。随着权限管理思想的发展,目前采用角色群组的授权方式得到了广泛的认同,大体思路就是:用户可以灵活地定义角色群组,然后定义每个角色群组的权限,最后定义角色群组的人员,这样就可以相对灵活地满足权限不断变化的需求了。
不同的系统对于权限有不一样的需求,有的系统希望能够自定义角色群组,有的系统希望能够灵活地定义代码中新增、修改、删除等各种动作,这样就能够将动作和角色群组联系起来,从而灵活地控制不同人的权限。比如管理员群组,就可以设定拥有各种动作的权限,修改人员群组就只设定拥有修改的权限,这样如果修改人员群组中的人根据要求权限要变大,就可以将此人放置在管理员群组中,此人就直接拥有了管理员的权限;如果管理员群组中的人权限要变小为只有修改权限,则直接将此人从管理员群组转移到修改人员群组中即可。
在了解了系统后,就可以做出一些Demo画面了,比如可以自定义各种动作,如图10.31所示。
![]() |
图10.31 可以自定义各种动作 |
![]() |
图10.32 自定义设定角色群组中的人员 |
权限管理系统的用例图如图10.33所示。
![]() |
图10.33 权限管理系统的用例图 |
通过对用例图的分析可以知道,权限管理系统主要包括管理用户、管理权限类别、管理角色群组、管理角色群组和人的对应关系、管理角色群组和权限类别的对应关系等功能,并提炼出如下的业务规则:
一个用户可以对应多个角色群组。
一个角色群组可以对应多个用户。
一个角色群组可以对应多个权限类别。
一个权限类别可以对应多个角色群组。
新增、修改角色群组、权限类别时,群组名称和权限类别名称不能重复。
维护角色群组的功能主要是描述在将用户和角色群组建立联系之前,需要先维护角色群组的信息,包括角色名称、角色说明,在实际的权限管理中,角色下面还可以有角色,本章只考虑最简单的情况,即不存在角色嵌套。
实现该功能的画面如图10.34所示。
维护权限类别的功能主要是描述在将权限类别和角色群组建立联系之前,需要首先维护权限类别的信息,包括权限类别名称、权限类别说明。
实现该功能的画面如图10.35所示。
![]() |
图10.34 角色群组管理画面 |
![]() |
图10.35 权限类别管理画面 |
管理角色群组和人员对应关系的功能主要是描述在人员、角色群组都建立之后,要建立角色群组和人员的对应关系,即将人员放在某个角色群组中。
实现该功能的画面如图10.36所示。
管理角色群组和权限类别对应关系的功能主要是描述在权限类别、角色群组都建立之后,要建立角色群组和权限类别的对应关系,即某个角色群组都包含哪些权限。
实现该功能的画面如图10.37所示。
![]() |
图10.36 人员与角色对应关系管理画面 |
![]() |
图10.37 角色权限管理画面 |