一种面向服务体系的基于面向对象的权限管理方法 【技术领域】
本发明涉及计算机安全技术领域,尤其涉及一种面向服务体系的基于面向对象的权限管理方法。
背景技术
在权限管理中,目前主要有以下两种方式:
1.面向服务的权限管理
2.基于角色的权限管理
以上两种方法中,第一种方式以软件服务的形式公开业务功能,使得其它应用程序可以通过已发布和可发现的接口来使用这些服务,从而实现对用户权限的管理;第二种方式以用户-角色-功能项的关系来进行权限管理的。在用户与功能项之间引入了角色这一中间关系,系统通过为每个角色分配功能项的操作权限,然后为每个角色指派相应的用户,从而达到操作权限管理的目的。这两种方法,虽然都为应用开发者提供了完善的权限管理机制,但对功能的权限管理都比较单一,在处理同一功能多场景的权限管理时,具有一定的局限性,从而增加了授权管理的复杂性,不能够灵活地支持企业的安全策略。
【发明内容】
本发明的目的是针对上面背景技术中所描述的目前权限管理中存在的问题,提出了一种面向服务体系的基于面向对象的权限管理方法。
其特征在于,包括以下步骤:
1)识别目标系统的功能并按照功能分类,存储在目标系统数据库中;
2)识别目标系统的每个功能所包含的属性,存储在目标系统数据库中;
3)在目标系统数据库中添加角色表,并在目标系统中添加角色功能模块;
4)在目标系统数据库中添加对应表;
5)在目标系统中添加授权模块;
6)在目标系统中添加用户权限管理公共模块;
7)为每个角色进行授权操作,授权完成后,将信息保存到上述对应表中;
所述方法以面向对象的方式,将目标系统的功能做为权限对象,将权限对象内部封装的操作、属性和数据范围信息,做为原子级的权限管理单元,如图1所示;
按场景不同,生成不同的视图做为对象级的授权模板;在为角色授权时,分别对角色所对应的授权模板进行授权。
本发明为应用开发者提供了更完善的权限管理机制,减小授权管理的复杂性,降低管理开销;灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
【附图说明】
图1:总体结构图;
图2:目标系统数据库中存储的服务表结构图;
图3:目标系统数据库中存储的功能表结构图;
图4:目标系统数据库中存储的操作表结构图;
图5:目标系统数据库中存储的属性表结构图;
图6:目标系统数据库中存储的视图表结构图;
图7:目标系统数据库中存储的数据范围表结构图;
图8:目标系统数据库中存储的角色表结构图;
图9:目标系统数据库中存储的角色功能对应表结构图;
图10:目标系统数据库中存储的角色操作对应表结构图;
图11:目标系统数据库中存储的角色属性对应表结构图;
图12:目标系统数据库中存储的角色用户对应表结构图;
图13:目标系统数据库中存储的角色数据范围对应表结构图。
【具体实施方式】
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
步骤一:识别目标系统的服务及其包含的功能,同时在目标系统数据库中,创建模型所需基础数据:
将目标系统中的服务,以图2结构存储在目标系统数据库服务表中;
将目标系统中的功能,以图3结构存储在目标系统数据库功能表中。
步骤二:识别目标系统的每个功能所包含的属性,同时在目标系统数据库中,创建模型所需基础数据:即该功能界面中的包含的输入控件和按钮,
将每个功能地功能界面内包含的按钮,以图4结构存储在目标系统数据库操作表中;
将每个功能的功能界面所包含的输入控件,以图5结构存储在目标系统数据库属性表中;
将每个功能所包含的场景,以图6结构存储在目标系统数据库视图表中;
将各场景的数据显示范围,以图7结构存储在目标系统数据库数据范围表中。
步骤三:在目标系统数据库中添加角色表,并在目标系统中添加角色功能模块;目标系统的角色信息以图8结构存储在目标系统数据库角色表中。通过授权功能为每个角色授予模块操作属性,通过添加所属用户功能为每个角色添加用户。
步骤四:在目标系统数据库中添加对应表:
确定角色与功能对应关系,以图9结构存储在目标系统数据库角色功能对应表中;
确定角色与操作对应关系,以图10结构存储在目标系统数据库角色操作对应表中;
确定角色与属性对应关系,以图11结构存储在目标系统数据库角色属性对应表中;
确定角色与用户对应关系,以图12结构存储在目标系统数据库角色用户对应表中;
确定角色与数据范围对应关系,以图13结构存储在目标系统数据库角色数据范围对应表中;
步骤五:在目标系统中,添加授权模块,用于对每个角色进行授权管理;授权管理界面,目标系统功能,以树形式显示,方便用户授权;其授权操作包括:
1.对功能界面所包含按钮的可见性的的授权,其授权的方式为:可见、不可见;
2.对功能界面所包含的输入控件的输入权限进行授权,其授权包含四种方式:隐藏、只读、全操作、默认;
3.对数据范围的授权即对用户授予查看数据范围的权限,其授权方式为:为该角色添加数据过滤条件。
步骤六:在目标系统中添加用户权限管理公共模块,并在目标系统中,识别进行权限控制的模块;运用AOP技术,为识别出的功能模块定义切面;在AOP模型中,添加权限控制方法,该方法做如下处理:
1.在用户会话中,获取用户功能ID,场景信息;
2.通过用户功能ID,及场景信息,获取与之对应的视图;
3.通过视图,返回每个视图所定义的原子级权限控制单元设置,生成权限控制脚本返回给功能模块;
4.功能模块根据AOP返回的权限脚本,重新组织功能界面内各要素,然后将新的功能界面返回给操作用户,从而实现权限的管理控制。
步骤七:登录目标系统,进入授权管理模块,为目标系统进行授权,授权完成,点击保存,将用户数据,分别存储在个对应关系表中。
用户登录目标系统后,目标系统根据对应表中的角色与功能信息,为用户呈现出其所能使用的服务。选择某项功能,会根据用户所处场景,调用相对应的视图,根据视图的标识,去角色操作对应表、角色属性对应表和数据范围对应表中,获取相关信息,重新组织然后呈现给用户,从而达到权限的管理;
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。