一种权限管理的实现设备和方法

文档序号:7930038阅读:120来源:国知局
专利名称:一种权限管理的实现设备和方法
技术领域
本发明涉及互联网应用技术领域,尤其是涉及一种权限管理的实现设备和方法。
背景技术
随着互联网的飞速发展,移动办公系统和分布式办公系统越来越普及,为了保证网络的安全性,需要对每个系统进行权限控制,用户使用不同权限的账户登录系统后也拥有着不同的权限。在浏览器/服务器(Browser/Server, B/S)结构的场景下,在这种结构的网络中,现有的权限管理方案通常是,用户通过浏览器发送管理命令,主要事务逻辑在服务器端(Server)实现,而浏览器和服务器之间通过中间件进行连接,各种业务系统(如移动办公系统和分布式办公系统等)具体在中间件上运行。在实际应用中,中间件具体可以采用应用服务器实现。在实际场景下,对于一个大企业的业务系统来说,如果要求管理者为其下员工逐一分配系统权限的话,将会是件耗时且不够方便的事情。所以,现有的权限控制系统中,提出对“角色”进行操作的概念,将权限一致的人员编入同一角色,然后对该角色进行权限分配,以便于权限分配。然而,现有的权限管理方法存在不少不足之处,例如,每当研发出或者启用一个新的业务系统时,就要额外对应去开发一个权限系统,重新编写该权限系统的所有指令和代码,如重写该权限系统中每一单个实体执行每一增加/查询/更新/删除(Create/Retrieve/Update/Delete, CRUD)操作的代码,工作量较大,对人力、物力资源的要求都较高,开发效率较低;并且,现有的权限系统在开发完成后通常不支持对系统的扩展或修改,管理方式比较固定,资源利用率和用户体验较低。

发明内容
本发明实施例提供了一种权限管理的实现设备和方法,降低了系统开发难度和工作量,提高了开发效率,并能够灵活地对权限进行扩展或调整,提高了资源利用率和用户体验。为达到上述目的,本发明实施例的技术方案是这样实现的本发明实施例提供了一种权限管理的实现方法,根据角色、模块和功能建立权限数据模型,其中,每一角色对应于至少一个模块,所述模块相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式;该方法包括判断是否为业务系统创建权限数据库;是则根据所述权限数据库中的权限数据,对所述业务系统进行权限管理;否则,根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据所述权限数据库中的权限数据,对所述业务系统进行权限管理。本发明实施例还提供了一种权限管理的实现设备,该设备上运行有权限管理组件,
所述权限管理组件,判断是否为业务系统创建权限数据库;是则根据所述权限数据库中的权限数据,对所述业务系统进行权限管理;否则,根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据所述权限数据库中的权限数据,对所述业务系统进行权限管理,其中,所述权限数据模型是根据角色、模块和功能建立的,每一角色对应于至少一个模块,所述模块相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式。由上述可见,本发明实施例提供的技术方案通过创建数据模型,提取出权限管理的共性特征,再对数据模型具体化,能够对属于相同类型的操作利用同一权限模型实体实现,从而避免了在权限系统中的开发中,对单个实体的CRUD操作重复编写代码所带来的问题,显著降低了工作量和对资源的要求,提高了开发效率。并且,本方案能够以嵌入式组件的形式实现,通过修改权限数据模型或权限模型实体等技术手段,能够灵活地对权限进行扩展或调整,提高了资源利用率和用户体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的一种权限管理的实现方法流程示意图;图2为本发明实施例二提供的一种权限管理的实现方法流程示意图; 图3为本发明实施例三提供的一种权限管理的实现设备的结构示意图。
具体实施例方式下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,本发明实施例一提供了一种权限管理的实现方法,首先,提取出权限管理的共性特征创建数据模型,具体的,步骤10 :根据角色、模块和功能建立权限数据模型,其中,每一角色对应于至少一个模块,所述模块相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式。
例如@Rights(@Module(name='M’,actionURL=””)) @Functions({
@Function(name=" M,actionURL={"
})其中,Module为模块,在实例化时,可以通过对其name、actionURL进行赋值,实例化为如财务软件中的工资模块、月报模块、季报模块等;Function为功能,在实例化时,可以通过对其name、actionURL进行赋值,实例化为如查询功能、审批功能、修改功能等。根据角色、模块和功能建立上述权限数据模块后,本发明实施例提供的权限管理的实现方法,在每次启动后,具体包括如下步骤11 :判断是否为业务系统创建权限数据库,是则,执行步骤12,否则,执行步骤13。12 :根据权限数据库中的权限数据,对所述业务系统进行权限管理;13:根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据所述权限数据库中的权限数据,对所述业务系统进行权限管理。进一步的,在上述步骤11中,通过检测业务系统的lock锁标识判断是否为业务系统创建权限数据库,若是,确认为业务系统创建权限数据库,即存在对该业务系统进行权限管理所需的权限数据所对应的权限数据库,若否,确认未为业务系统创建权限数据库。上述步骤11至步骤13可以由一个嵌入式组件实现,也可以由一个具有相应功能的权限系统实现。作为本发明的一个实施例,采用嵌入式组件或权限系统实现的权限管理的实现方法,优选的,设置在B/S架构中的中间件即应用服务器上。在本发明实施例中,可以采用一个嵌入式组件或权限系统对该应用服务器中的各业务软件进行权限管理,也可以采用一个嵌入式组件或权限系统对该应用服务器中的一个业务软件进行权限管理。本发明实施例中,优选的,采用一个嵌入式组件或权限系统对该应用服务器中的一个业务软件进行权限管理方式,这样,耦合性较低,当某个嵌入式组件或权限系统出现故障时,不致于导致该应用服务器中的其它业务系统的权限管理功能失效。由上述可见 ,本发明实施例提供的技术方案通过创建数据模型,提取出权限管理的共性特征,再对数据模型具体化,能够对属于相同类型的操作利用同一权限模型实体实现,从而避免了在权限系统中的开发中,对单个实体的CRUD操作重复编写代码所带来的问题,显著降低了工作量和对资源的要求,提高了开发效率。并且,本方案能够以嵌入式组件的形式实现,通过修改权限数据模型或权限模型实体等技术手段,能够灵活地对权限进行扩展或调整,提高了资源利用率和用户体验。下面对本发明实施例二提供的一种权限管理的实现方法进行描述,参见图2,具体包括如下处理首先,本方案根据角色、模块和功能建立权限数据模型,其中,每一角色对应于至少一个模块,即每一角色可以拥有多个模块。这些模块分别相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式,如CRUD操作。其次,对权限数据模型进行实例化或具体化,得到相应的权限模型实体。本方案可以基于Java平台实现,则利用Java平台上的泛型反射功能就能得到具体化后的权限模型实体。一个示例角色所对应的权限模型实体,可以表示如下public class RoleDAOHibernateImpl extends HibernateEntityDAO<Role>implementsIRoleDA0〈Role>{}上述的〈Role〉代表示例角色所对应的权限模型实体,该权限模型实体可以理解为一个数据对象,通过这种处理,在建立权限管理组件时无需在该权限模型实体内编写任何代码就可以实现对该示例角色的CRUD操作,从而降低了工作量,提高了开发效率。再次,本方案为权限数据设置特殊的标识用于识别出该权限数据,由于权限管理组件中可以具有多项功能,多种类型的数据,通过组件自定义的标识识别出所需的权限数据,以保证权限管理的正常进行。进一步的,本权限管理组件利用数据原型(Annotations)标签实现权限数据中的权限标识。参见如下示例,显示了利用Annotations标签设置权限标识的一个例子
权利要求
1.一种权限管理的实现方法,其特征在于,根据角色、模块和功能建立权限数据模型,其中,每一角色对应于至少一个模块,所述模块相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式;所述方法包括 判断是否为业务系统创建权限数据库; 是则根据所述权限数据库中的权限数据,对所述业务系统进行权限管理; 否则,根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据所述权限数据库中的权限数据,对所述业务系统进行权限管理。
2.根据权利要求1所述的方法,其特征在于,所述根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库,包括 仓犍映射,指向需填充在权限数据库中的数据表,所述数据表中包括权限数据;并根据业务数据对所述权限数据模型进行实例化,得到权限模型实体;在所述实例化过程中为所述权限模型实体中的权限数据设置权限标识; 加载所述权限模型实体,并为业务系统设置lock锁标识,根据所加载的权限模型实体和所述lock锁标识创建权限数据库,并通过所述映射将所述数据表填充在所述权限数据库中。
3.根据权利要求1所述的方法,其特征在于,所述判断是否为业务系统创建权限数据库具体包括 检测业务系统是否存在lock锁标识,若是,确认为业务系统创建权限数据库,若否,确认未为业务系统创建权限数据库。
4.根据权利要求1所述的方法,其特征在于,所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理包括 根据所述权限数据库中的权限数据,通过变量引用方式,对权限模型实体进行操作,实现对业务系统的权限管理。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括通过变量引用方式对权限模型实体进行增加、查询、更新和/或删除CRUD操作; 在下次启动后,所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理之前还包括 根据权限标识查找业务系统中的权限数据,与所述权限数据库中的权限数据相比对,一致,则执行所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理;不一致,则更新所述权限数据库中的权限数据,与查找到的权限数据相同步,执行所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理。
6.根据权利要求2所述的方法,其特征在于,所述对所述权限数据模型进行实例化包括 利用泛型反射功能对权限数据模型进行实例化; 所述在所述实例化过程中为所述权限模型实体中的权限数据设置权限标识包括 在所述实例化过程中利用数据原型Annotations标签为所述权限模型实体中的权限数据设置权限标识。
7.根据权利要求2所述的方法,其特征在于,通过对象关系映射ORMapping功能方式创建映射,指向需填充在权限数据库中的数据表,所述数据表中包括权限数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括 为所述权限数据之外的所需处理的数据建立相应的数据模型; 所述创建权限数据库时,还包括根据业务数据对该所需处理的数据进行实例化,得到相应的模型实体,并创建业务数据库; 所述方法还包括根据所述业务数据库中的所需处理的数据对所述业务系统进行相应的业务管理。
9.一种权限管理的实现设备,其特征在于,所述设备上运行有权限管理组件, 所述权限管理组件,判断是否为业务系统创建权限数据库;是则根据所述权限数据库中的权限数据,对所述业务系统进行权限管理;否则,根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据所述权限数据库中的权限数据,对所述业务系统进行权限管理,其中,所述权限数据模型是根据角色、模块和功能建立的,每一角色对应于至少一个模块,所述模块相应于预定的资源,每一模块对应于至少一种功能,所述功能指示对资源的操作方式。
10.根据权利要求9所述的设备,其特征在于,所述权限管理组件包括数据库创建单元和同步单元, 所述数据库创建单元,创建映射,指向需填充在权限数据库中的数据表,所述数据表中包括权限数据;并根据业务数据对所述权限数据模型进行实例化,得到权限模型实体;在所述实例化过程中为所述权限模型实体中的权限数据设置权限标识;加载所述权限模型实体,并为业务系统设置lock锁标识,根据所加载的权限模型实体和所述lock锁标识创建权限数据库,并通过所述映射将所述数据表填充在所述权限数据库中; 所述同步单元,在下次启动后,根据权限标识查找业务系统中的权限数据,与所述权限数据库中的权限数据相比对,一致,则执行所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理;不一致,则更新所述权限数据库中的权限数据,与查找到的权限数据相同步,执行所述根据所述权限数据库中的权限数据,对所述业务系统进行权限管理。
全文摘要
本发明公开了一种权限管理的实现设备和方法,能够降低系统开发的难度和工作量,提高开发效率,并能够灵活地对权限进行扩展或调整,提高了资源利用率和用户体验。本发明实施例提供的一种权限管理的实现方法,根据角色、模块和功能建立权限数据模型,每一角色对应于至少一个模块,该模块相应于预定的资源,每一模块对应于至少一种功能,该功能指示对资源的操作方式;具体包括判断是否为业务系统创建权限数据库;是则根据权限数据库中的权限数据,对所述业务系统进行权限管理;否则,根据业务数据对所述权限模型进行实例化,得到权限模型实体,并创建权限数据库;根据权限数据库中的权限数据,对业务系统进行权限管理。
文档编号H04L29/06GK103036855SQ20111030013
公开日2013年4月10日 申请日期2011年9月29日 优先权日2011年9月29日
发明者陈明智 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1