一种通用权限管理系统及方法

文档序号:6523047阅读:362来源:国知局
一种通用权限管理系统及方法
【专利摘要】本发明提供一种通用权限管理系统及方法,其中,系统包括:基础信息定义模块,定义必需的基础信息;角色、用户、机构、数据授权模块,定义各角色、用户、机构、数据的安全授权及访问范围;分布式内存缓存,使用二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息;日志模块,记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志;用户认证模块,提供用户登录、操作、退出的安全认证;会话集中管理模块,统一将会话由二次开发接口服务管理;数据库管理系统,对相关业务数据的信息查询、存储、管理、计算。所述权限管理系统具备通用、灵活、可自由配置、可自定义、可扩展、支持多用户、支持多应用等特性。
【专利说明】一种通用权限管理系统及方法
【技术领域】
[0001]本发明涉及应用系统及数据安全管理【技术领域】,具体涉及一种在J2EE开发环境下结合Struts2、Spring、Hibernate的基于开源安全框架SpringSecurity的通用权限管理系统及方法。
【背景技术】
[0002]当前,计算机科学技术已在各个领域得到了广泛的应用。特别是近年来,随着管理信息系统(Management In-formation System, MIS)向着多应用、多用户的方向不断发展,系统的安全问题也越来越受到人们的关注,而权限管理是整个系统安全的核心问题之一,在传统的基于B/S架构的客户关系管理(Customer Relationship Management, CRM)、企业资源计划(Enterprise Resource Planning, ERP)、网站后台、办公室自动化(officeautomation, 0A)、进销存等应用系统的开发过程中,权限管理都是保证系统数据安全必不可缺的组成部分,同时,权限管理在现代软件系统中拥有着重要的地位,从各种操作系统到一般的应用程序,都能发现有关权限的模块或者功能。特别应提出的是,权限管理是事务系统的关键部分,其可靠性、安全性及稳定性直接影响到事务系统的正常运行。
[0003]因此,权限管理模块的开发可以说是应用系统开发中不可缺少的部份,如果每个系统都要根据客户的需求重新对系统的权限模块进行设计,无疑是重复的、无意义的工作,基于以上,寻求一种可自由配置、可自定义应用系统信息、能自由灵活扩展、支持多用户、支持多应用、可适用于任何B/S架构应用系统权限管理的通用的、安全的权限管理系统成为了应用系统及数据安全管理的【技术领域】新的发展方向。

【发明内容】

[0004]本发明的目的是提供一种通用权限管理系统及方法,采用基于角色的权限管理技术方案,同时又将权限设置为对应多个资源、多个用户的方式,实现了该系统和方法的权限分配和访问功能操作的安全管理;每个模块中的各项操作都需按不同的使用者或不同的用户所属角色、不同的用户所属机构、不同的用户职位等信息进行严格的控制。
[0005]本发明是通过以下技术方案来实现的:
[0006]本发明一方面提供一种通用权限管理系统,包括:
[0007]基础信息定义模块,用于定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持;
[0008]角色、用户、机构、数据授权模块,用于定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围;
[0009]分布式内存缓存,用于提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息;
[0010]日志模块,用于记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志;
[0011]用户认证模块,用于提供用户登录、操作、退出的安全认证;
[0012]会话集中管理模块,用于统一将会话由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理;
[0013]数据库管理系统,用于对相关业务数据的信息查询、存储、管理、计算。
[0014]进一步地,所述角色、用户、机构、数据授权模块包括:
[0015]角色授权模块,用于通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限;
[0016]用户授权模块,用于通过设置用户或用户所属的角色对权限管理系统的授权,实现用户对系统的访问控制;
[0017]机构授权模块,用于对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限;
[0018]数据授权模块,用于通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
[0019]更进一步地,所述用户授权模块包括:
[0020]用户操作权限设置单元,用于设置用户对功能模块的浏览、增加、修改、删除的操作权限;
[0021]用户权限继承设置单元,用于设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多关系,即:用户属多个角色时,该用户将同时拥有多个角色的授权;
[0022]用户私有授权设置单元,用于设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合;
[0023]超级用户权限设置单元,用于将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权。
[0024]更进一步地,所述数据授权模块包括:
[0025]数据范围权限设置单元,用于根据数据类型、相应字段数值范围对用户设置数据范围访问权限;
[0026]单条数据访问权限设置单元,用于对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据;
[0027]数据字段权限设置单元,用于将每条业务数据权限精确控制到每一个字段。
[0028]进一步地,所述基础信息定义模块包括:
[0029]系统部门信息定义模块,用于通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系;
[0030]系统资源信息定义模块,用于对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态;
[0031]系统职级信息定义模块,用于通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约;
[0032]系统操作功能信息定义模块,用于通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
[0033]进一步地,所述通用权限管理系统还包括:
[0034]安全认证模块,用于在信息交互过程中,对信息进行加密和认证处理;
[0035]智能监控模块,用于当监测到服务容器出现线程挂起或访问延迟时,及时重启该服务容器;
[0036]入侵检测模块,用于监控服务器和网络的状态并及时预警。
[0037]本发明另一方面提供一种通用权限管理方法,包括:
[0038]基础信息定义步骤:定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持;
[0039]角色、用户、机构、数据授权步骤:定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围;
[0040]分布式内存缓存步骤:提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息;
[0041]日志记录步骤:记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志;
[0042]用户认证步骤:提供用户登录、操作、退出的安全认证;
[0043]会话集中管理步骤:统一将会话由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理;
[0044]数据库管理步骤:对相关业务数据进行信息查询、存储、管理、计算。
[0045]进一步地,所述角色、用户、机构、数据授权步骤包括:
[0046]角色授权步骤:通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限;
[0047]用户授权步骤:通过设置用户或用户所属的角色对权限管理系统的授权,实现用户对系统的访问控制;
[0048]机构授权步骤:对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限;
[0049]数据授权步骤:通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
[0050]更进一步地,所述用户授权步骤包括:
[0051]用户操作权限设置步骤:设置用户对功能模块的浏览、增加、修改、删除的操作权限;
[0052]用户权限继承设置步骤:设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多关系,即:用户属多个角色时,该用户将同时拥有多个角色的授权;
[0053]用户私有授权设置步骤:设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合;
[0054]超级用户权限设置步骤:将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权。
[0055]更进一步地,所述数据授权步骤包括:
[0056]数据范围权限设置步骤:根据数据类型、相应字段数值范围对用户设置数据范围访问权限;
[0057]单条数据访问权限设置步骤:对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据;
[0058]数据字段权限设置步骤:将每条业务数据权限精确控制到每一个字段。
[0059]进一步地,所述基础信息定义步骤包括:
[0060]系统部门信息定义步骤:通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系;
[0061]系统资源信息定义步骤:对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态;
[0062]系统职级信息定义步骤:通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约;
[0063]系统操作功能信息定义步骤:通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
[0064]进一步地,所述通用权限管理方法还包括:
[0065]安全认证步骤:在信息交互过程中,对信息进行加密和认证处理;
[0066]智能监控步骤:当监测到服务容器出现线程挂起或访问延迟时,及时重启该服务容器;
[0067]入侵检测步骤:监控服务器和网络的状态并及时预警。
[0068]本发明相比现有技术具有以下优点及有益效果:
[0069](I)所述权限管理系统设置的角色、用户、机构、数据授权模块以树状的方式展现权限主体(用户,角色,部门/机构)以及资源,区别于传统的基于角色的访问控制模型(Role-Based policies Access Control, RBAC),权限不仅仅可以分配给角色,也可以分配给部门(机构)和用户;实际的权限是这三者权限的叠加,最大限度的方便用户操作。考虑到用户的扩展,系统提供两个权限继承规则接口,用户可以自定义权限继承的规则。例如,部门A下有部门Al,部门A的权限是否由部门Al继承。因此,所述权限管理系统具备通用、灵活、可自由配置、可自定义、可扩展、支持多用户、支持多应用等特性,B/S架构的系统无需再根据用户的需求重新设计、开发权限管理模块,只需要在本系统的基础上调用相应标签、实现业务逻辑即可完成系统的开发,极大的减少了系统的重复开发工作量。
[0070](2)所述权限管理系统还包括智能监控模块,用于监控服务容器的稳定性和可访问性。当监测到某服务容器出现线程挂起或访问延迟时,智能监控模块及时重启该服务容器,确保接口的稳定性和可靠性。[0071](3)所述权限管理系统还包括入侵检测模块,用于监控服务器和网络的健康状态。若服务器或网络出现异常,入侵检测模块自动发送邮件或手机短信给系统运维管理人员,确保服务器或网络的异常尽快修复。
[0072](4)所述权限管理系统可以应用于任何B/S架构的CRM、ERP、0A、网站后台管理待系统中,具备良好的软件升级机制、完善的优越性及便捷性,极大地减少了系统维护、管理、升级成本。
[0073](5)所述权限管理系统只需开发人员进行简单的软件配置即可完全兼容MsSQL/MySQL/Oracle/Sybase等主流数据库,因此对用户的数据库系统无要求。
[0074](6)所述权限管理系统采用纯Java6的开发语言,使所述技术设计具有良好的兼容性,可兼容Linux/Windows/Unix/Solaris等操作系统。
【专利附图】

【附图说明】
[0075]图1是本发明的通用权限管理系统的结构示意图;
[0076]图2是本发明的通用权限管理系统中的所述角色、用户、机构、数据授权模块的结构示意图;
[0077]图3是本发明的通用权限管理系统中的所述用户授权模块的结构示意图;
[0078]图4是本发明的通用权限管理系统中的所述数据授权模块的结构示意图;
[0079]图5是本发明的通用权限管理系统中的所述基础信息定义模块的结构示意图;
[0080]图6是本发明的通用权限管理方法的又一实施例的流程示意图;
[0081]图7是本发明的通用权限管理方法的流程示意图;
[0082]图8是本发明的通用权限管理方法中的所述角色、用户、机构、数据授权模块的流程不意图;
[0083]图9是本发明的通用权限管理方法中的所述用户授权模块的流程示意图;
[0084]图10是本发明的通用权限管理方法中的所述数据授权模块的流程示意图;
[0085]图11是本发明的通用权限管理方法中的所述基础信息定义模块的流程示意图;
[0086]图12是本发明的通用权限管理方法的又一实施例的流程示意图;
[0087]图13示出了所述通用权限管理系统的实体-联系(Entity RelationshipDiagram, ER)图。
【具体实施方式】
[0088]下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
[0089]如图1所示,在本实施例中,本发明一方面提供一种通用权限管理系统,包括:
[0090]基础信息定义模块,用于定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持;
[0091]角色、用户、机构、数据授权模块,用于定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围;
[0092]分布式内存缓存,用于提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位等信息,以提高系统的运行效率、并发请求处理能力并且减少数据库访问压力;
[0093]日志模块,基于Hibernate数据操作触发机制,用于详细记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志,以供系统管理员查询和审核;Hibernate是一个开放源代码的对象关系映射框架。
[0094]用户认证模块,基于SpringSecurity安全框架的安全认证机制,用于提供用户登录、操作、退出的安全认证,确保系统及系统数据的安全;
[0095]会话(Session)集中管理模块,用户的Http会话状态使用HttpSession保持,用于统一将会话(Session)由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理,以解决集群环境下Session同步复制的问题,从而保证权限管理系统的并发处理能力及水平扩展性;
[0096]关系型或非关系型数据库管理系统,采用MySQL、Oracle> SQLServer等数据存储管理系统,用于对相关业务数据的信息查询、存储、管理、计算。
[0097]在本实施例中,所述数据存储模块结合Memcached分布式内存数据库通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库并发、减少数据库服务器的压力;在服务器硬件方面使用磁盘RAID5及全局热备方法保存数据,确保服务数据的安全可靠及服务器磁盘阵列的稳定运行。
[0098]在本实施例中,所述通用权限管理系统允许采用Oracle/Mssql/MySQL等关系数据库管理系统,基于Java EE平台进行开发,并运用了 Spring Security这个强大的,高度可定制的认证和安全访问控制框架。
[0099]所述通用权限管理系统的实现基于HTTP协议、B/S系统架构,并运行在符合J2EE技术规范的WEB容器中。
[0100]所述通用权限管理系统结合Memcached分存式内存缓存系统实现HttpSession的集中管理,以解决系统在集群环境下的Http会话、Session同步问题。
[0101]所述通用权限管理系统通过统一的用户会话Session的集中管理,实现了权限管理系统支持多个Web容器同时提供服务,支持负载均衡及集群管理,避免了单点依赖问题,单个Web容器重新启动或服务挂起时系统依然正常运行。
[0102]所述通用权限管理系统使用Nginx反向代理或Linux LVS负载均衡机制以提高系统的水平扩展能力、同时提高系统的并发处理能力;
[0103]所述通用权限管理系统兼容MsSQL/MySQL/Oracle/Sybase等主流数据库管理系统,具备良好的兼容性和可移植性。
[0104]所述通用权限管理系统采用Java6为开发语言,因此系统可以兼容Windows/Linux/Unix/Solaris等主流操作系统,应用程序具备良好的兼容性及可移植性。
[0105]在本发明的实施例中,所述通用权限管理系统基于SpringSecurity框架实现了从前端页面到后台数据全面的安全访问控制。
[0106]其中,如图2所示,所述角色、用户、机构、数据授权模块包括:
[0107]角色授权模块,用于通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限;
[0108]用户授权模块,用于通过设置用户或用户所属的角色对权限管理系统的授权,也就是用户对该系统可见或不可见,能不能对该系统进行再授权的操作,实现用户对系统的访问控制,表现在用户界面就是用户登录系统主页面后,是否可以看到对应系统的链接、内容、操作功能的控制。
[0109]机构授权模块,即组织机构/部门授权模块,用于对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限;
[0110]数据授权模块,用于通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
[0111]在本实施例中,在用户授权模块中,通过列表的方式在已授权的范围内提供对系统用户的查询、管理功能,定义用户时,指定用户职级、所属角色、所属机构等信息,如果角色,机构等已授权,则用户的权限在定义时就已确定。
[0112]在本发明的实施例中,如图3所示,所述用户授权模块包括:
[0113]用户操作权限设置单元,用于设置用户对功能模块的浏览、增加、修改、删除的操作权限;所述操作权限也即对象权限,以图书管理为例,不同的人员对这个模块的操作是不同的,有些用户可以新增,删除图书;而有些用户则只是可以对图书的情况查看不能修改。本实施例中,通过调用通用权限管理系统提供的一套自定义标签或SpringSecurity标签,页面可以根据用户不同的操作权限屏蔽相应的功能按键。例如删除,新增按键。用户绕过页面直接操作相应业务方法同样也做到了严格的控制,没有权限的访问会被拒绝同时记入日志。
[0114]用户权限继承设置单元,用于设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多绑定关系,即:用户属多个角色时,该用户的权限是多个角色的权限之和;
[0115]用户私有授权设置单元,用于设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合;
[0116]超级用户权限设置单元,用于将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权,将不需要进行角色、用户等授权,所述超级用户为系统管理员。
[0117]在本发明的实施例中,如图4所示,所述数据授权模块包括:
[0118]数据范围权限设置单元,又可称为对象实例级权限,用于根据数据类型、相应字段数值范围对用户设置数据范围访问权限;设置了数据范围权限后,不是每个用户都可以看到所有记录的;以财务管理为例,部门经理只能查看金额小于I万的数据;而总经理则没有限制。
[0119]单条数据访问(ACL)权限设置单元,用于通过访问控制列表(Access ControlList,ACL)对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据;以个人通讯录为例,每个用户都维护自己的一个通讯录,这些数据都只是对本人可见,其他人不可见。但用户可以对这些数据做出授权,将某条联系方式以授权的方式共享给其他人,并赋予不同的权限,包括拥有,修改,删除,浏览四种权限。
[0120]数据字段权限设置单元,用于将每条业务数据权限精确控制到每一个字段,包括单个字段的可否浏览以及可否修改,保证了敏感信息的安全性。通过xml配置,系统保证了用户的最小粒度的权限控制。
[0121]在本发明的实施例中,如图5所示,所述基础信息定义模块包括:
[0122]系统部门信息定义模块,对系统组织机构信息进行管理,用于通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系;
[0123]系统资源信息定义模块,用于对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态;
[0124]系统职级信息定义模块,用于通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约;
[0125]系统操作功能信息定义模块,用于通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
[0126]在本实施例中,整个通用权限管理系统的数据都建立在系统统一的关系型数据库管理系统及分布式内存缓存管理之上,用户登录后,其权限信息即被缓存,保证系统的运行效率及减少数据库的并发压力,当权限信息被修改时,本技术设计将立即刷新用户的权限信息,无需用户重新登录,用户新的授权信息将立即生效。
[0127]在本发明的实施例中,如图6所示,所述通用权限管理系统还包括:
[0128]安全认证模块,用于在信息交互过程中,对信息进行加密和认证处理,确保信息在传输过程中的安全性和完整性;
[0129]智能监控模块,用于当监测到系统所承载J2EE服务容器出现线程挂起或访问延迟时,及时重启该服务容器,确保接口的稳定性和可靠性;
[0130]入侵检测模块,用于监控服务器和网络的状态并及时预警。若服务器或网络出现异常,入侵检测模块自动发送邮件或手机短信给运维管理人员,确保服务器或网络的异常尽快修复。例如,若网络遭非法入侵或暴力破解等,反入侵软件将访问者加入黑名单列表以保障服务器及网络的安全;若硬件设备等导致的服务器、网络故障,网络运维管理人员也能第一时间知道当前出现故障的节点和原因,同时备份服务器将接管相应的服务。
[0131]如图7所示,本发明另一方面提供一种通用权限管理方法,包括:
[0132]基础信息定义步骤:定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持;
[0133]角色、用户、机构、数据授权步骤:定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围;
[0134]分布式内存缓存步骤:提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息;
[0135]日志记录步骤:记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志;
[0136]用户认证步骤:提供用户登录、操作、退出的安全认证;[0137]会话集中管理步骤:统一将会话由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理;
[0138]数据库管理步骤:对相关业务数据进行信息查询、存储、管理、计算。
[0139]如图8所示,在本实施例中,所述角色、用户、机构、数据授权步骤包括:
[0140]角色授权步骤:通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限;
[0141]用户授权步骤:通过设置用户或用户所属的角色对权限管理系统的授权,实现用户对系统的访问控制;
[0142]机构授权步骤:对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限;
[0143]数据授权步骤:通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
[0144]如图9所示,在本实施例中,所述用户授权步骤包括:
[0145]用户操作权限设置步骤:设置用户对功能模块的浏览、增加、修改、删除的操作权限;
[0146]用户权限继承设置步骤:设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多关系,即:用户属多个角色时,该用户将同时拥有多个角色的授权;
[0147]用户私有授权设置步骤:设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合;
[0148]超级用户权限设置步骤:将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权。
[0149]如图10所示,在本实施例中,所述数据授权步骤包括:
[0150]数据范围权限设置步骤:根据数据类型、相应字段数值范围对用户设置数据范围访问权限;
[0151]单条数据访问权限设置步骤:对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据;
[0152]数据字段权限设置步骤:将每条业务数据权限精确控制到每一个字段。
[0153]如图11所示,在本实施例中,,所述基础信息定义步骤包括:
[0154]系统部门信息定义步骤:通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系;
[0155]系统资源信息定义步骤:对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态;
[0156]系统职级信息定义步骤:通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约;
[0157]系统操作功能信息定义步骤:通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
[0158]如图12所示,所述通用权限管理方法还包括:
[0159]安全认证步骤:在信息交互过程中,对信息进行加密和认证处理;
[0160]智能监控步骤:当监测到服务容器出现线程挂起或访问延迟时,及时重启该服务容器;
[0161]入侵检测步骤:监控服务器和网络的状态并及时预警。
[0162]图13示出了所述通用权限管理系统的实体-联系(Entity RelationshipDiagram, ER)图。如图13所示,所述通用权限管理系统维护了系统部门用户表,与系统部门表、系统用户表分别进行部门-部门用户关系、用户-部门用户关系连接;还维护了系统用户资源表,与系统用户表、系统资源表分别进行用户-用户资源关系、资源-用户资源关系连接;还维护了系统角色资源表,与系统资源表、系统角色表分别进行资源-角色资源关系、角色-角色资源关系连接;还维护了系统用户角色表,与系统角色表、系统用户表分别进行角色-用户角色关系、用户-用户角色关系连接;系统用户表还与系统职级表进行用户职级关系连接,系统资源表还与系统操作功能进行资源-操作功能关系连接。
[0163]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【权利要求】
1.一种通用权限管理系统,其特征在于,包括: 基础信息定义模块,用于定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持; 角色、用户、机构、数据授权模块,用于定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围; 分布式内存缓存,用于提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息; 日志模块,用于记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志; 用户认证模块,用于提供用户登录、操作、退出的安全认证; 会话集中管理模块,用于统一将会话由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理; 数据库管理系统,用于对相关业务数据的信息查询、存储、管理、计算。
2.根据权利要求1所述的通用权限管理系统,其特征在于: 所述角色、用户、机构、数据授权模块包括: 角色授权模块,用于通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限; 用户授权模块,用于通过设置用户或用户所属的角色对权限管理系统的授权,实现用户对系统的访问控制; 机构授权模块,用于对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限; 数据授权模块,用于通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
3.根据权利要求2所述的通用权限管理系统,其特征在于: 所述用户授权模块包括: 用户操作权限设置单元,用于设置用户对功能模块的浏览、增加、修改、删除的操作权限; 用户权限继承设置单元,用于设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多关系,即:用户属多个角色时,该用户将同时拥有多个角色的授权; 用户私有授权设置单元,用于设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合; 超级用户权限设置单元,用于将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权。
4.根据权利要求2所述的通用权限管理系统,其特征在于: 所述数据授权模块包括: 数据范围权限设置单元,用于根据数据类型、相应字段数值范围对用户设置数据范围访问权限; 单条数据访问权限设置单元,用于对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据; 数据字段权限设置单元,用于将每条业务数据权限精确控制到每一个字段。
5.根据权利要求1所述的通用权限管理系统,其特征在于: 所述基础信息定义模块包括: 系统部门信息定义模块,用于通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系; 系统资源信息定义模块,用于对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态; 系统职级信息定义模块,用于通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约; 系统操作功能信息定义模块,用于通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
6.根据权利要求1所述的通用权限管理系统,其特征在于,还包括: 安全认证模块,用于在信息交互过程中,对信息进行加密和认证处理; 智能监控模块,用于当监测到服务容器出现线程挂起或访问延迟时,及时重启该服务容器; 入侵检测模块,用于监控服务器和网络的状态并及时预警。
7.一种通用权限管理方法,其特征在于,包括: 基础信息定义步骤:定义权限管理系统中所必需的基础信息,为后续的授权、业务逻辑处理提供基础数据支持; 角色、用户、机构、数据授权步骤:定义权限管理系统中各角色、用户、机构、数据的安全授权及访问范围; 分布式内存缓存步骤:提供基于开源分布式内存缓存系统Memcached的二次开发接口服务,使用所述二次开发接口服务缓存权限管理系统的用户、角色、资源、机构、职位信息;日志记录步骤:记录完整的用户登录、用户认证、用户退出、用户操作、用户授权的系统操作日志; 用户认证步骤:提供用户登录、操作、退出的安全认证; 会话集中管理步骤:统一将会话由开源分布式内存缓存系统Memcached实现的二次开发接口服务管理; 数据库管理步骤:对相关业务数据进行信息查询、存储、管理、计算。
8.根据权利要求7所述的通用权限管理方法,其特征在于: 所述角色、用户、机构、数据授权步骤包括: 角色授权步骤:通过列表的方式在已授权的范围内提供对系统角色资料进行查询、管理,编辑角色资料,同时对角色进行访问授权,以定义该角色的权限; 用户授权步骤:通过设置用户或用户所属的角色对权限管理系统的授权,实现用户对系统的访问控制;机构授权步骤:对系统中展现的组织机构和代码进行访问授权,以定义该机构的权限; 数据授权步骤:通过查询定义数据表信息或Hibernate映射文件表、字段信息,将用户信息或角色信息与数据信息进行授权,实现角色到数据、用户到数据的授权机制。
9.根据权利要求8所述的通用权限管理方法,其特征在于: 所述用户授权步骤包括: 用户操作权限设置步骤:设置用户对功能模块的浏览、增加、修改、删除的操作权限; 用户权限继承设置步骤:设置用户权限的继承,同时用户与角色、用户与部门的关系设置为多对多关系,即:用户属多个角色时,该用户将同时拥有多个角色的授权; 用户私有授权设置步骤:设置用户的私有授权,即:将特定的用户设置为在给予对应角色的授权外,还单独对该用户进行授权,授权后,该用户的权限为拥有的角色授权加上该用户的私有授权的集合; 超级用户权限设置步骤:将经过授权认证的用户设置为具有超级用户权限,所述超级用户权限使用户具有系统的所有授权。
10.根据权利要求8所述的通用权限管理方法,其特征在于: 所述数据授权步骤包括: 数据范围权限设置步骤:根据数据类型、相应字段数值范围对用户设置数据范围访问权限; 单条数据访问权限设置步骤:对每条数据进行权限访问控制,每条数据均设置有对应的至少一条权限数据; 数据字段权限设置步骤:将每条业务数据权限精确控制到每一个字段。
11.根据权利要求7所述的通用权限管理方法,其特征在于: 所述基础信息定义步骤包括: 系统部门信息定义步骤:通过可无限递归的树状菜单,展现和管理系统中目前的组织机构和代码,机构与机构之前为上下级关系或同属于上一级的同级关系; 系统资源信息定义步骤:对系统功能菜单、功能模块进行定义,通过无限可递归的树状菜单的方式,展现和管理各系统中已有的菜单资源,用户登录系统后,该用户可访问的系统资源通过已分配的授权进行动态加态;系统职级信息定义步骤:通过列表的方式在已授权的范围内提供对系统职级资料的查询、管理,同时,在后续的用户操作过程中,用户可操作的权限,范围将受用户职级的制约;系统操作功能信息定义步骤:通过列表的方式在已授权的范围内提供对系统操作功能的定义、查询、管理,在进行用户操作功能授权时,该功能所定义的资料将成为授权操作的基础信息。
12.根据权利要求7所述的通用权限管理方法,其特征在于,还包括: 安全认证步骤:在信息交互过程中,对信息进行加密和认证处理; 智能监控步骤:当监测到服务容器出现线程挂起或访问延迟时,及时重启该服务容器; 入侵检测步骤:监控服务器和网络的状态并及时预警。
【文档编号】G06F21/45GK103632082SQ201310664923
【公开日】2014年3月12日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】刘志坚 申请人:惠州华阳通用电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1