CN104112085A - 一种应用系统集群的数据权限控制方法和装置 - Google Patents
一种应用系统集群的数据权限控制方法和装置 Download PDFInfo
- Publication number
- CN104112085A CN104112085A CN201310139354.XA CN201310139354A CN104112085A CN 104112085 A CN104112085 A CN 104112085A CN 201310139354 A CN201310139354 A CN 201310139354A CN 104112085 A CN104112085 A CN 104112085A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- data permission
- dimensions
- authority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种应用系统集群的数据权限控制方法和装置,所述的方法包括,接收用户在应用系统集群中提交的访问请求;当依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;其中,所述获取该用户对应的数据权限集合的步骤包括:查询当前用户对应的一个或多个角色;查询所述一个或多个角色对应的一个或多个标准化功能;查询所述一个或多个标准化功能对应的一个或多个维度;依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。本发明实施例实现了基于参数的细粒度权限控制,对应用系统集群改造小、侵入少且接入简单。
Description
技术领域
本发明实施例涉及应用系统集群的技术领域,特别是涉及一种数据权限生成的方法,一种数据权限生成的装置,一种数据权限控制的方法,一种数据权限控制的装置,一种应用系统集群的数据权限控制方法和一种应用系统集群的数据权限控制装置。
背景技术
在应用系统集群中,各个应用系统(包括web应用系统,数据库应用系统等)分别独立完成特定服务。例如,在某个供应链应用系统集群中,包括商品、物流、认证、营销等四个应用系统,一个商家用户需要使用商品系统的商品录入功能,认证系统的发明功能,物流系统的仓库配送服务选择功能,营销系统的铺货功能等等,而一个认证公司用户只需要使用认证系统的认证订单查询、认证结果录入等功能,而一个快递服务提供商用户只需要使用物流系统的部分功能。在这种多角色用户的分布式复杂应用系统集群中,大多数功能是很多用户都可以使用的,但是在实际应用中的功能权限控制上,不同用户可以操作的范围往往是不同的,需要根据不同的场景进行控制,如商家用户操作具有功能权限的商品相关功能时,只能访问所属商家自己的商品数据;再如营销服务外包的服务商用户,在进行商品上架操作时,只能访问上架店铺自己负责店铺的商品数据等。当用户使用相关功能时,到底哪些数据可以访问,就需要通过数据权限控制来实现。
数据权限控制在业界也称为细粒度权限控制,是近几年兴起的一个话题,相对传统的权限控制(目前称为功能权限控制),关注的不再是控制不同用户是否可以使用某个系统功能,而是使用该功能可以操作符合什么样条件的数据。
现有技术中所采用的数据权限控制方案主要有两种:
第一种是使用第三方提供的中间件改造应用系统集群,让应用系统集群的数据层组件匹配中间件的接口,然后通过中间件提供的配置功能进行数据权限配置,配置入口可以与应用系统集群共同部署或者独立部署,通过配置保存不同用户使用应用功能时的限制条件数据,系统在执行用户操作的功能时,通过运行时加入限制逻辑来实现数据权限控制。这种第三方中间件的方案的优势是对应用系统集群改造成本少,部署实施相对简单,劣势是应用系统集群性能和安全性等方面的影响不易控制,同时不适用于诸如供应链应用集群这种复杂的分布式应用场景,再者对于异构数据源的系统无法适用。
第二种是对应用系统集群的数据层进行重构,加入数据权限控制的功能。采用这种方式,首先需要针对系统所使用的数据层框架进行扩展,开发可以动态修改SQL(Structured Query Language,结构化查询语言)的组件,然后改造应用的数据层逻辑,允许在运行中嵌入动态SQL片段;然后针对不同应用功能的业务需求,开发数据权限的配置功能,用以配置不同用户操作各个系统功能时需要限制的条件;系统在执行用户操作的功能时,通过运行在SQL语句执行前嵌入限制数据权限的SQL片段,改变查询逻辑来实现数据权限控制。这种动态修改SQL的方案,可以适用于分布式服务场景,优势是性能的影响可以通过设计来优化,安全性也可以保证,不受分布式服务和异构数据源约束;劣势是改造成本大,实现方案不易统一,配置入口分散难以管理,同时也受到应用系统数据层技术选型限制。
因此,目前需要本领域技术人员解决的一个技术问题在于,提供一种应用系统集群的数据权限控制机制,用以在不影响应用系统集群性能和安全性的前提下,既能适用于分布式应用系统集群的应用场景,又能减少对应用集群系统侵入以减少开发、改造成本,并具有灵活的可扩展性。
发明内容
本发明实施例提供一种应用系统集群的数据权限控制方法和装置,用以在不影响应用系统集群性能和安全性的前提下,既能适用于分布式应用系统集群的应用场景,又能减少对应用集群系统侵入以减少开发、改造成本,并具有灵活的可扩展性,并且不会受到已有应用底层使用框架的限制以及分布式服务和异构数据源的限制。
为了解决上述问题,本发明实施例公开了一种数据权限生成方法,包括:
为用户配置一个或多个角色;
针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
依据所述一个或多个维度生成所述用户的数据权限集合。
较佳地,所述数据权限生成方法方法,还包括:
针对所述用户配置一个或多个个性化功能;
针对所述一个或多个个性化功能分别添加对应的一个或多个维度。
较佳地,所述依据一个或多个维度生成所述用户的数据权限集合的步骤包括:
依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
较佳地,所述一个或多个维度在用户的数据权限集合中采用参数表达式和动态配置的参数值进行表征。
本发明实施例公开了一种数据权限控制方法,其特征在于,包括:
接收用户请求;
依据所述请求,查询当前用户对应的一个或多个角色;
查询所述一个或多个角色对应的一个或多个标准化功能;
查询所述一个或多个标准化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的标准化数据权限集合。
较佳地,所述数据权限控制方法,还包括:
依据所述请求,查询当前用户对应的一个或多个个性化功能;
查询所述一个或多个个性化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的个性化数据权限集合;
合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
较佳地,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述合并当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合的步骤包括:
将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
本发明实施例公开了一种应用系统集群的数据权限控制方法,包括:
接收用户在应用系统集群中提交的访问请求;
当依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述获取该用户对应的数据权限集合的步骤包括:
查询当前用户对应的一个或多个角色;
查询所述一个或多个角色对应的一个或多个标准化功能;
查询所述一个或多个标准化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
较佳地,所述获取该用户对应的数据权限集合的步骤还包括:
查询当前用户对应的一个或多个个性化功能;
查询所述一个或多个个性化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
较佳地,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
较佳地,所述应用系统集群的数据权限控制方法,还包括:
将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
较佳地,所述应用系统集群的数据权限控制方法,还包括:
当依据所述访问请求判定用户不具有数据权限时,拒绝该用户的访问请求。
本发明实施例公开了一种数据权限生成装置,包括:
角色配置模块,用于为用户配置一个或多个角色;
标准化功能配置模块,用于针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
标准化功能维度添加模块,用于针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
数据权限集合生成模块,用于依据所述一个或多个维度生成所述用户的数据权限集合。
较佳地,所述数据权限生成装置,还包括:
个性化功能配置模块,用于针对所述用户配置一个或多个个性化功能;
个性化功能维度添加模块,用于针对所述一个或多个个性化功能分别添加对应的一个或多个维度。
较佳地,所述数据权限集合生成模块包括:
标准化数据权限集合生成子模块,用于依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
个性化数据权限集合生成子模块,用于依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
组织子模块,用于将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
较佳地,所述一个或多个维度在用户的数据权限集合中采用参数表达式和动态配置的参数值进行表征。
本发明实施例公开了一种数据权限控制装置,包括:
请求接收模块,用于接收用户请求;
第一角色查询模块,用于依据所述请求,查询当前用户对应的一个或多个角色;
第一标准化功能查询模块,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第一标准化功能维度查询模块,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第一标准化数据权限集合生成模块,用于依据所述一个或多个维度获得当前用户的标准化数据权限集合。
较佳地,所述数据权限控制装置,还包括:
第一个性化功能查询模块,用于依据所述请求,查询当前用户对应的一个或多个个性化功能;
第一个性化功能维度查询模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第一个性化数据权限集合生成模块,用于依据所述一个或多个维度获得当前用户的个性化数据权限集合;
数据权限集合合并模块,合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
较佳地,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述数据权限集合合并模块包括:
参数合并子模块,用于将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
本发明实施例公开了一种应用系统集群的数据权限控制装置,包括:
访问请求接收模块,用于接收用户在应用系统集群中提交的访问请求;
访问请求判定模块,用于依据所述访问请求判定用户是否具有数据权限;
数据权限集合获取模块,用于在依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述数据权限集合获取模块包括:
第二角色查询子模块,用于查询当前用户对应的一个或多个角色;
第二标准化功能查询子模块,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第二标准化功能维度查询子模块,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第二标准化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
较佳地,所述数据权限集合获取模块还包括:
第二个性化功能查询子模块,用于查询当前用户对应的一个或多个个性化功能;
第二个性化功能维度查询子模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第二个性化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
较佳地,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
较佳地,所述应用系统集群的数据权限控制装置,还包括:
数据权限集合保存模块,用于将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
数据操作控制模块,用于依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例对传统功能权限服务进行了扩展,通过为功能配置维度,用参数表达式进行表征,并动态配置其参数值,限制了用户使用某个功能可以操作符合什么样条件的数据,基于功能的数据权限控制,即实现了基于参数的细粒度权限控制。本发明实施例适用于分布式应用系统集群,基于通用功能权限服务,对应用系统集群改造小、侵入少且接入简单,减小了开发成本,并有利于搭建统一配置管理平台,定义通用的服务层的数据权限控制模型及接口,需求增加时再逐步扩展,应用接入简单且不会受底层技术框架选型的限制。
本发明实施例上加入了个性化授权,即也可以为用户单独授权,这样可以在很多临时授权和特殊授权的场景下,让控制更加灵活。
附图说明
图1是本发明实施例的一种数据权限生成方法实施例1的步骤流程的示意图;
图2是本发明实施例的一种数据权限生成方法实施例2的步骤流程的示意图;
图3是本发明实施例的一种数据权限生成方法的权限控制模型的示意图;
图4是本发明实施例的一种数据权限生成方法的应用示例的示意图;
图5是本发明实施例的一种数据权限控制方法实施例1的步骤流程的示意图;
图6是本发明实施例的一种数据权限控制方法实施例2的步骤流程的示意图;
图7是本发明实施例的一种数据权限控制方法的数据权限控制过程的示意图;
图8是本发明实施例的一种数据权限控制方法的应用示例的示意图;
图9是本发明实施例的一种应用系统集群的数据权限控制方法实施例的步骤流程的示意图;
图10是本发明实施例的一种应用系统集群的数据权限控制的应用示例的示意图;
图11是本发明实施例的一种应用系统集群的数据权限控制的应用示例的权限阀门的示意图;
图12是本发明实施例的一种数据权限生成装置实施例的结构框图;
图13是本发明实施例的一种数据权限控制装置实施例的结构框图;
图14是本发明实施例的一种应用系统集群的数据权限控制装置实施例的结构框图。
具体实施方式
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明实施例主要用于解决分布式应用系统集群中,通用数据权限配置管理和控制问题。在诸如供应链应用系统集群(包括商品、物流、认证、营销等多个应用系统的一种应用系统集群中,用户在供应链应用系统集群中完成商品、物流、认证、营销等一系列工作时,通常需要使用上述四个系统中的若干功能)这种复杂用户类型的应用系统集群中,首先要通过功能权限管理,控制不同用户可以使用的系统功能;但是在很多场景中,不同用户可以使用相同的功能,因此需要控制不同用户可以操作的数据范围,在具体的场景中需要按照不同的维度进行控制,如在供应链应用系统集群中营销服务外包的服务商用户,在操作商品上架操作时,只能访问自己负责店铺的商品数据;需要说明的是,这些数据控制的策略是根据业务需求的变化而变化的,因此需要灵活的配置。
通常这样的数据控制功能在应用系统集群的设计初期是不会考虑的,因为一开始只是处于初始阶段,使用的用户都是内部用户,也没有数据安全问题和复杂的用户相关的数据控制策略问题;但是等业务发展到一定阶段,比如需要将系统开放,从而需要考虑用户数据权限控制的时候,如果对原先的所有系统进行重构加入数据控制的特性,面对庞大的分布式应用系统集群、积累至今如此多数量的功能集合、如此复杂的数据结构,显然从成本和实现时间上都是不允许的;因而,本领域技术人员需要的是通过接入一个通用的可配置的数据权限管理服务,将识别出需要进行数据权限控制的应用功能,经过简单的扩展,实现对不同用户的数据权限控制。
基于上述需求,发明人创造性地提出本发明实施例的核心构思之一,基于已有的分布式功能权限管理系统,扩展不同用户访问各个应用功能时需要控制的权限的限制条件,对于用户在访问具体应用功能时需要根据哪些限制条件来控制,则可以进行单独的权限配置管理。应用系统集群只需对需要进行数据权限控制的功能进行简单改造,使之可以接受这些参数并在实现上在原有的业务查询条件中动态加入数据权限控制的条件,再通过接入通用数据权限控制服务,运行时获取限制条件即可,从而实现轻量级的、可以通过小成本改造接入的、通用的灵活配置的数据权限控制系统。
参照图1,示出了本发明实施例的一种数据权限生成方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,为用户配置一个或多个角色;
步骤102,针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
步骤103,针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
步骤104,依据所述一个或多个维度生成所述用户的数据权限集合。
在具体实现中,所述一个或多个维度在用户的数据权限集合中可以采用参数表达式和动态配置的参数值进行表征。
传统的基于角色的权限控制模型(Role-Based Access Control)RBAC模型,具体权限控制模型为U-R-P模型,U是用户,R是角色,P对应管理系统的功能入口。RBAC模型不会把功能权限直接赋予给用户,而是通过角色来赋予给用户,用户拥有某一种功能权限是因为用户扮演着某一种角色。RBAC模型中角色的功能权限是固定的,因此不能做细粒度数据权限的控制。
本发明实施例提出了基于功能的维度进行更细粒度的数据权限控制的方案。需要说明的是,本发明实施例中所指“维度”,是指系统原本的功能中被识别出来需要做控制的参数,即维度对应的是一个查询参数。为功能添加维度,将功能扩展为维度可以控制的功能,表示该功能可以按照哪些维度来进行控制。一个功能中需要做控制的参数可能不止一个,可以根据实际需求添加。依据维度生成的数据权限集合则描述了用户在访问所述功能时需要做的限制。
本发明实施例的权限控制模型是U-R-P-D模型,其中,D为维度。一般而言,大部分用来做限制的参数,基本都是多个数据对象都有的属性,具有共性,极少有个别的,就像“行业”维度,不是查询商家列表功能才涉及的参数,是很多功能都要关注的,因此从横向的视角来看,将其称之为功能的“维度”。
在本发明实施例中,当用户通过角色获取了对应的功能权限后,还可以控制所述用户使用所述功能进行哪些维度的限制,实现数据权限的控制。可以理解,维度是执行功能时的条件参数,这些参数被系统控制起来,不是用户可以选择的,而是用户使用所述的功能时,系统将这个参数的值根据实际情况动态配置,以实现数据权限控制。比如,查询商家这个功能,在进行数据权限控制前,系统需要让用户手动选择一个查询条件,如查询某个行业下的商家;而进行数据权限控制后,系统通过配置,限制只能查看某个行业的商家资料,即用户不能选择这个查询条件了,因为其被系统作为这个功能的维度管理了起来,当用户在查询商家的时候,系统会对访问这个功能做“行业”这个维度的限制。在实现上,原先的查询功能在执行时,被系统设置了这个功能参数的值,进行了控制。
参照图2,示出了本发明实施例的一种数据权限生成方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,为用户配置一个或多个角色;
步骤202,针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
步骤203,针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
步骤204,针对所述用户配置一个或多个个性化功能;
步骤205,针对所述一个或多个个性化功能分别添加对应的一个或多个维度;
步骤206,依据所述一个或多个维度生成所述用户的数据权限集合。
在本发明实施例的一种优选实施例中,所述步骤206具体可以包括如下子步骤:
子步骤S11,依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
子步骤S12,依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
子步骤S13,将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
在具体实现中,所述一个或多个维度在用户的数据权限集合中可以采用参数表达式和动态配置的参数值进行表征。
本发明实施例在传统的RBAC模型上加入了个性化授权,即也可以为用户单独授权。
参见图3,示出了本发明实施例的权限控制模型。
本发明实施例将传统的权限控制模型U-R-P模型扩展为U-R=P-D模型。用户可以通过角色授权,对应的权限控制模型为U-R-P-D,还可以通过用户直接授权,对应的权限控制模型为U-P-D模型。本发明实施例将通过角色授权和通过用户授权这两种授权方式分别定义为标准化授权和个性化授权。由于角色和角色可以使用哪些功能都是预定义的,因而相对稳定;而用户和用户可以使用哪些功能可能是临时、特殊的,因而相对不稳定。这两种授权方式对应的数据权限集合分别为标准化数据权限集合和个性化数据权限集合。
本发明实施例既可以让具有某个角色的用户,不但可以获得所述角色的功能权限,还可以获得所述角色不具备的功能权限。标准化授权和个性化授权结合,使得用户权限可以在标准化授权基础上做个性化授权的修正,这样可以在很多临时授权和特殊授权的场景下,让控制更加灵活。
标准化数据权限集合和个性化数据权限集合组织的形式并不唯一,可由本领域技术人员根据实际情况进行设定,可以是简单合并,也可以是按优先级高低取优等等,本发明实施例对此不做限制。
综合以上,对数据权限集合的数据结构举例说明如下:
第一个字段dac_type是指功能的控制类型,分别为默认级别的数据权限控制(所有人都有效),角色级别的数据权限控制(具有某个角色的用户有效),用户级别的数据权限控制(对于某个具体的用户有效);对应的值有3种:Permission、Role、User。
第二个字段为第一个字段对应的id:如果第一个字段是默认级别的控制,则第二个字段为对应的功能id;如果第一个字段是角色级别的控制,则第二个字段为对应的角色id;如果第一个字段是用户级别的控制,则第二个字段为对应的用户id。
第三个字段是需要做限制的维度。
第四个字段是维度的参数表达式及动态配置的参数值的表达。在此示例中表示,不能访问所有数据,也不是不能访问任何数据,需要按照一个维度来限制,即按照domain这个维度限制,使用此功能时只能访问domain参数的在lpscm、lptest等几个值中的信息。
当然,上述数据权限集合的数据结构只用作示例,本领域技术人员根据实际情况采用任一种方式表示数据权限集合均是可行的,本发明实施例对此无需加以限制。
参见图4,示出了本发明实施例的一个应用示例,其生成数据权限集合的过程如下:
a.为用户U1配置两个角色R1和R2;
b.为角色R1配置功能P1的权限(假设是一个查询列表的功能);
c.为功能P1添加维度D1和D2;
d.为角色R1关联功能P1,生成角色R1的标准化功能集合,参数表达式为X in(1),动态参数值为A=’x’;(即查询条件需要添加A=’x’的约束)
e.为用户U1配置个性化功能权限,P1生成用户U1的个性化功能集合,参数表达式为Y in(a,b),动态参数值为B=’y’;(即查询条件需要添加B=’y’的约束)
f.将标准化功能集合和个性化功能集合组织为用户的数据权限集合。
参照图5,示出了本发明实施例的一种数据权限控制方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤301,接收用户请求;
步骤302,依据所述请求,查询当前用户对应的一个或多个角色;
步骤303,查询所述一个或多个角色对应的一个或多个标准化功能;
步骤304,查询所述一个或多个标准化功能对应的一个或多个维度;
步骤305,依据所述一个或多个维度获得当前用户的标准化数据权限集合。
用户可以具有一个或多个角色,角色可以关联一个或多个功能,功能可以有一个或多个维度来做数据权限限制。所述用户可以通过对应的角色获取标准化授权的功能权限,给所述角色配置功能权限时,可以查询所述标准化功能权限可以进行哪些维度的限制,然后查询配置数据权限时是否需要做限制,如果需要,则在适当范围内选择维度并为其参数表达式配置参数值。这样就得到了所述用户的数据权限集合,具有所述角色的用户在使用所述功能时就会受到相应的限制。
参照图6,示出了本发明实施例的一种数据权限控制方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤401,接收用户请求;
步骤402,依据所述请求,查询当前用户对应的一个或多个角色;
步骤403,查询所述一个或多个角色对应的一个或多个标准化功能;
步骤404,查询所述一个或多个标准化功能对应的一个或多个维度;
步骤405,依据所述一个或多个维度获得当前用户的标准化数据权限集合;
步骤406,依据所述请求,查询当前用户对应的一个或多个个性化功能;
步骤407,查询所述一个或多个个性化功能对应的一个或多个维度;
步骤408,依据所述一个或多个维度获得当前用户的个性化数据权限集合;
步骤409,合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
在具体实现中,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中可以采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中可以采用第二参数表达式和动态配置的第二参数值进行表征。
在本发明实施例的一种优选实施例中,所述步骤409具体可以包括:
将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
用户除了可以通过对应的角色获取标准化授权的功能权限外,还可以通过用户直接获取个性化授权的功能权限。给用户配置功能权限时,也可以查询所述用户的个性化功能权限可以进行哪些维度的控制,然后配置数据权限时是否需要做限制,如果需要,则在适当范围内选择维度并为其参数表达式配置参数值。这样也会得到所述用户的个性化数据权限集合。配置数据权限时,如果是所述用户对应的角色已配置标准化数据权限集合,最终在处理所述功能的数据权限集合时,会采取合并策略来处理。
在本发明实施例的一个优选示例中,具体可以采用异级取优、同级取并的方式合并所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值,形成当前用户的数据权限集合。
可以理解,异级、同级是相对于功能的控制类型而言的,即相对于默认级别的数据权限控制、角色级别的数据权限控制、用户级别的数据权限控制而言,优先级别是用户级别的数据权限控制>角色级别的数据权限控制>默认级别的数据权限控制。
例如,一个用户A对应着角色B,用户A请求访问功能C。
限制其数据权限的时候,为功能C做了默认数据权限限制1,为角色B访问功能C做了角色数据权限限制2,为用户A访问功能C做了用户数据权限限制3、4。其中,所述限制1、2、3、4为具体的维度。合并参数表达式及其参数值的时候,先根据异级取优方法合并,因为有了用户级别的限制,所以功能和角色级别的限制,即限制1和2就可以忽略了;然后根据同级取并方法合并,将用户级别的限制3和4合并,假如限制3限制所述用户只能访问x行业,4限制只能访问y、z行业,合并结果就是限制所述用户只能访问x、y、z行业。
参见图7,示出了本发明实施例数据权限控制的过程。本发明实施例中数据权限的控制可以在三个层次进行配置,即默认级别的数据权限控制(所有人访问该功能时都需要受到限制)、角色级别的数据权限控制(具有该角色的用户访问该功能需要受到限制)、用户级别的数据权限控制(指定用户访问该功能需要受到限制)。当用户请求访问某个功能时,系统通过查询配置,将该用户访问该功能的三个数据权限集合合并成为最终的数据权限集合,通过接口返回。
参见图8,示出了本发明实施例数据权限控制的一个应用示例。
比如认证系统中的商品查询功能,根据需求,需要按照行业来进行数据权限控制,这样认证公司在查询商品列表筛选目标商品时,只可以对自己拥有认证资质行业内的商品进行查询操作。
进行数据权限控制时,首先需要对认证系统的商品查询功能配置成可以进行数据权限控制,然后为该功能添加行业(默认级别)、商家(角色级别)、用户(用户级别)的维度,并将对应的参数值输入到各维度的参数表达式中:默认级别的限制条件为只能访问自己所服务的供应商的商品数据、角色级别的限制条件为认证公司角色只能访问自己所在行业的商品;然后当该认证商家用户请求使用所述查询商品的功能时,系统获取整合后的数据权限集合。
参照图9,示出了本发明实施例一种应用系统集群的数据权限控制方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501,接收用户在应用系统集群中提交的访问请求;
步骤502,当依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述获取该用户对应的数据权限集合的子步骤包括:
子步骤S41,查询当前用户对应的一个或多个角色;
子步骤S42,查询所述一个或多个角色对应的一个或多个标准化功能;
子步骤S43,查询所述一个或多个标准化功能对应的一个或多个维度;
子步骤S44,依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
在本发明实施例的一个优选实施例中,所述获取该用户对应的数据权限集合的子步骤还包括:
子步骤C1,查询当前用户对应的一个或多个个性化功能;
子步骤C2,查询所述一个或多个个性化功能对应的一个或多个维度;
子步骤C3,依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
在具体实现中,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
在本发明实施例的一个优选实施例中,所述的方法具体还可以包括:
步骤503,将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
步骤504,依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
在本发明实施例的一个优选实施例中,所述的方法具体还可以包括:
步骤505,当依据所述访问请求判定用户不具有数据权限时,拒绝该用户的访问请求。
参见图10,示出了本发明实施例的一个应用示例。
在此示例中,应用系统集群包括权限系统和应用系统,分别负责权限的控制和功能的实现,其中,底层数据通过应用系统接入。
在此示例中的一个优选实施方式,应用系统中接入权限系统定义的权限阀门来对应用功能的信息进行拦截,用户请求访问应用系统的具体功能时,所述访问请求在功能入口时被拦截,基于服务化的接口将当前用户信息和所述功能的执行参数(统称环境参数)传送到权限系统,接着开始进行功能权限验证和数据权限的查询,得到用户的数据权限集合,然后应用系统根据返回的查询结果进行处理,最后再执行具体的功能应用,将结果返回给用户。
具体数据权限控制的实现过程如下:
A.应用系统要求查询当前用户对某一功能的数据权限;
B.权限系统通过U-R查询用户对应的角色;
C.权限系统通过R-P查询每个角色对应的功能权限,获得用户的标准授权集合;
D.权限系统在标准授权集合中检索请求查询的功能;
E.权限系统在数据权限控制DAC中,查询用户通过角色授权获取该功能时配置的数据权限控制信息,即维度的第一参数表达式及其参数值;
F.权限系统通过U-P查询用户的个性化授权集合;
G.权限系统在数据权限控制DAC中,查询用户通过个性化授权获取该功能时配置的数据权限控制信息,即维度的第二参数表达式及其参数值;
H.将配置了参数值的第一参数表达式和第二参数表达式合并得到用户的数据权限集合;
I.将数据权限集合传输到应用系统,通过动态配置功能运行的参数,改变应用功能运行时的执行条件,应用功能接受这些条件后会在调用底层的数据操作时作出限制。
其中,系统还可以根据查询的结果,分支一些其他流程,比如用户使用所述功能不能访问任何数据就直接进入无数据权限异常提示,如果用户使用所述功能不需要做任何限制就不往用户的功能数据权限集合中设置参数值等等。
其中,合并参数表达式的方式可以为:异级取优、同级取并。
参见图11,示出了本示例中权限阀门的一个优选实施方式。
权限阀门根据环境参数首先验证该用户是否有此访问的功能权限,如果没有则提示用户无功能权限,如果有则继续查询数据权限限制条件;然后验证该用户是否有此访问的数据权限,如果没有则提示用户无数据权限,如果有则将上述数据权限集合保存到当前会话中,以供应用获取和进行数据层的限制处理。
作为本发明实施例的一个优选示例,应用系统集群中底层的数据的接入和进行数据权限限制的改造可以采用如下两种方式:
第一种是打点标记,通过在应用代码中按照格式添加权限系统约定的配置文件,要求权限系统进行自动设参,指定哪些具体功能应用需要进行数据权限控制,并说明维度的参数是什么,这样在应用系统运行时,就会拦截用户对这些功能应用的访问请求,并查询对当前用户的访问需要做的数据权限限制(即用户的数据权限集合),然后对应对这些参数进行动态设置,功能应用接受这些参数并进行处理,按照约定进行限制。
第二种是解析工具,应用系统不需要做数据权限的配置,不需要改造功能应用的入口和在功能应用中添加接受权限系统自动设置的动态参数的功能,而是由权限系统拦截用户的访问请求后,将查询到的对当前用户的访问需要做的数据权限限制(即用户的数据权限集合)放在当前会话中,功能应用调用数据权限集合的解析工具,来获取需要限制的参数及其参数值,然后进行处理,按照约定进行限制。
两种改造方式可以自行选择,在不同场景下选择适当的方式可以优化结构和减小改造成本。比如具体应用中只有少数功能需要限制,使用者希望自己的系统更加简洁,可以考虑第一种;比如具体应用中多个功能入口限制形式一致,可以集中在一个底层数据组件中进行限制,就可以选择第二种,因为只需要在这个公用的底层数据组件使用工具获取参数来处理,这样接入和改造成本能达到最小化。
在具体实现改变功能运行时的执行参数中,可以引用约定一个专门用来接收数据权限控制参数的Map类型的特殊参数(可以是一个key-value的键值对集合),比如DacControlMap,在配置参数时,会将维度参数作为key,参数值列表作为value,放到这个参数集合中,实现动态配置功能运行参数。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明实施例所必须的。
参见图12,示出了一种数据权限生成装置的实施例的结构框图,具体可以包括如下模块:
角色配置模块601,用于为用户配置一个或多个角色;
标准化功能配置模块602,用于针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
标准化功能维度添加模块603,用于针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
数据权限集合生成模块604,用于依据所述一个或多个维度生成所述用户的数据权限集合。
在本发明实施例的一种优选实施例中,所述装置具体还可以包括:
个性化功能配置模块,用于针对所述用户配置一个或多个个性化功能;
个性化功能维度添加模块,用于针对所述一个或多个个性化功能分别添加对应的一个或多个维度。
在本发明实施例的一种优选实施例中,所述数据权限集合生成模块具体可以包括:
标准化数据权限集合生成子模块,用于依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
个性化数据权限集合生成子模块,用于依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
组织子模块,用于将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
在具体实现中,所述一个或多个维度在用户的数据权限集合中可以采用参数表达式和动态配置的参数值进行表征。
对于数据权限生成装置实施例而言,由于其与数据权限生成方法实施例基本相似,所以描述的比较简单,相关之处参见数据权限生成方法实施例的部分说明即可。
参见图13,示出了一种数据权限控制装置实施例的结构框图,具体可以包括如下模块:
请求接收模块701,用于接收用户请求;
第一角色查询模块702,用于依据所述请求,查询当前用户对应的一个或多个角色;
第一标准化功能查询模块703,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第一标准化功能维度查询模块704,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第一标准化数据权限集合生成模块705,用于依据所述一个或多个维度获得当前用户的标准化数据权限集合。
在本发明实施例的一种优选实施例中,所述装置具体还可以包括:
第一个性化功能查询模块,用于依据所述请求,查询当前用户对应的一个或多个个性化功能;
第一个性化功能维度查询模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第一个性化数据权限集合生成模块,用于依据所述一个或多个维度获得当前用户的个性化数据权限集合;
数据权限集合合并模块,合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
在具体实现中,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中可以采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中可以采用第二参数表达式和动态配置的第二参数值进行表征;
在本发明实施例的一种优选实施例中,所述数据权限集合合并模块具体可以包括:
参数合并子模块,用于将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
对于数据权限控制装置实施例而言,由于其与数据权限控制方法实施例基本相似,所以描述的比较简单,相关之处参见数据权限控制方法实施例的部分说明即可。
参见图14,示出了一种应用系统集群的数据权限控制装置实施例的结构框图,具体可以包括如下模块
访问请求接收模块801,用于接收用户在应用系统集群中提交的访问请求;
访问请求判定模块802,用于依据所述访问请求判定用户是否具有数据权限;
数据权限集合获取模块803,用于在依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述数据权限集合获取模块具体可以包括:
第二角色查询子模块,用于查询当前用户对应的一个或多个角色;
第二标准化功能查询子模块,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第二标准化功能维度查询子模块,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第二标准化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
在本发明实施例的一种优选实施例中,所述数据权限集合获取模块具体还可以包括:
第二个性化功能查询子模块,用于查询当前用户对应的一个或多个个性化功能;
第二个性化功能维度查询子模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第二个性化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
在具体实现中,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中可以采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中可以采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中可以包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
在本发明实施例的一种优选实施例中,所述装置具体还可以包括:
数据权限集合保存模块,用于将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
数据操作控制模块,用于依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
在本发明实施例的一种优选实施例中,所述装置具体还可以包括:
访问请求拒绝模块,用于在依据所述访问请求判定用户不具有数据权限时,拒绝该用户的访问请求。
对于应用系统集群的数据权限控制装置实施例而言,由于其与应用系统集群的数据权限控制方法实施例基本相似,所以描述的比较简单,相关之处参见应用系统集群的数据权限控制方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明实施例优选应用于嵌入式系统中。
本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上对本发明实施例所提供的一种数据权限生成的方法,一种数据权限生成的装置,一种数据权限控制的方法,一种数据权限控制的装置,一种应用系统集群的数据权限控制方法和一种应用系统集群的数据权限控制装置进行了详细介绍,本文中应用了具体个例对本发明实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明实施例的限制。
Claims (23)
1.一种数据权限生成方法,其特征在于,包括:
为用户配置一个或多个角色;
针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
依据所述一个或多个维度生成所述用户的数据权限集合。
2.根据权利要求1所述的方法,其特征在于,还包括:
针对所述用户配置一个或多个个性化功能;
针对所述一个或多个个性化功能分别添加对应的一个或多个维度。
3.根据权利要求2所述的方法,其特征在于,所述依据一个或多个维度生成所述用户的数据权限集合的步骤包括:
依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
4.根据权利要求1或2或3所述的方法,其特征在于,所述一个或多个维度在用户的数据权限集合中采用参数表达式和动态配置的参数值进行表征。
5.一种数据权限控制方法,其特征在于,包括:
接收用户请求;
依据所述请求,查询当前用户对应的一个或多个角色;
查询所述一个或多个角色对应的一个或多个标准化功能;
查询所述一个或多个标准化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的标准化数据权限集合。
6.根据权利要求5所述的方法,其特征在于,还包括:
依据所述请求,查询当前用户对应的一个或多个个性化功能;
查询所述一个或多个个性化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的个性化数据权限集合;
合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
7.根据权利要求6所述的方法,其特征在于,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述合并当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合的步骤包括:
将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
8.一种应用系统集群的数据权限控制方法,其特征在于,包括:
接收用户在应用系统集群中提交的访问请求;
当依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述获取该用户对应的数据权限集合的步骤包括:
查询当前用户对应的一个或多个角色;
查询所述一个或多个角色对应的一个或多个标准化功能;
查询所述一个或多个标准化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
9.根据权利要求8所述的方法,其特征在于,所述获取该用户对应的数据权限集合的步骤还包括:
查询当前用户对应的一个或多个个性化功能;
查询所述一个或多个个性化功能对应的一个或多个维度;
依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
10.根据权利要求9所述的方法,其特征在于,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
11.根据权利要求8或9或10所述的方法,其特征在于,还包括:
将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
12.根据权利要求8或9或10所述的方法,其特征在于,还包括:
当依据所述访问请求判定用户不具有数据权限时,拒绝该用户的访问请求。
13.一种数据权限生成装置,其特征在于,包括:
角色配置模块,用于为用户配置一个或多个角色;
标准化功能配置模块,用于针对所述一个或多个角色分别配置对应的一个或多个标准化功能;
标准化功能维度添加模块,用于针对所述一个或多个标准化功能分别添加对应的一个或多个维度;
数据权限集合生成模块,用于依据所述一个或多个维度生成所述用户的数据权限集合。
14.根据权利要求13所述的装置,其特征在于,还包括:
个性化功能配置模块,用于针对所述用户配置一个或多个个性化功能;
个性化功能维度添加模块,用于针对所述一个或多个个性化功能分别添加对应的一个或多个维度。
15.根据权利要求14所述的装置,其特征在于,所述数据权限集合生成模块包括:
标准化数据权限集合生成子模块,用于依据所述一个或多个标准化功能对应的一个或多个维度生成所述用户的标准化数据权限集合;
个性化数据权限集合生成子模块,用于依据所述一个或多个个性化功能对应的一个或多个维度生成所述用户的个性化数据权限集合;
组织子模块,用于将所述标准化数据权限集合和个性化数据权限集合组织为所述用户的数据权限集合。
16.根据权利要求13或14或15所述的装置,其特征在于,所述一个或多个维度在用户的数据权限集合中采用参数表达式和动态配置的参数值进行表征。
17.一种数据权限控制装置,其特征在于,包括:
请求接收模块,用于接收用户请求;
第一角色查询模块,用于依据所述请求,查询当前用户对应的一个或多个角色;
第一标准化功能查询模块,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第一标准化功能维度查询模块,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第一标准化数据权限集合生成模块,用于依据所述一个或多个维度获得当前用户的标准化数据权限集合。
18.根据权利要求17所述的装置,其特征在于,还包括:
第一个性化功能查询模块,用于依据所述请求,查询当前用户对应的一个或多个个性化功能;
第一个性化功能维度查询模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第一个性化数据权限集合生成模块,用于依据所述一个或多个维度获得当前用户的个性化数据权限集合;
数据权限集合合并模块,合并所述当前用户的标准化数据权限集合和个性化数据权限集合,形成当前用户的数据权限集合。
19.根据权利要求18所述的装置,其特征在于,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述数据权限集合合并模块包括:
参数合并子模块,用于将所述第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值进行合并,形成当前用户的数据权限集合。
20.一种应用系统集群的数据权限控制装置,其特征在于,包括:
访问请求接收模块,用于接收用户在应用系统集群中提交的访问请求;
访问请求判定模块,用于依据所述访问请求判定用户是否具有数据权限;
数据权限集合获取模块,用于在依据所述访问请求判定用户具有数据权限时,获取该用户对应的数据权限集合;
其中,所述数据权限集合获取模块包括:
第二角色查询子模块,用于查询当前用户对应的一个或多个角色;
第二标准化功能查询子模块,用于查询所述一个或多个角色对应的一个或多个标准化功能;
第二标准化功能维度查询子模块,用于查询所述一个或多个标准化功能对应的一个或多个维度;
第二标准化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合,所述数据权限集合包括标准化数据权限集合。
21.根据权利要求20所述的装置,其特征在于,所述数据权限集合获取模块还包括:
第二个性化功能查询子模块,用于查询当前用户对应的一个或多个个性化功能;
第二个性化功能维度查询子模块,用于查询所述一个或多个个性化功能对应的一个或多个维度;
第二个性化数据权限集合生成子模块,用于依据所述一个或多个维度获得当前用户的数据权限集合;所述数据权限集合还包括个性化数据权限集合。
22.根据权利要求21所述的装置,其特征在于,所述一个或多个标准化功能一个或多个维度在用户的标准化数据权限集合中采用第一参数表达式和动态配置的第一参数值进行表征;
所述一个或多个个性化功能一个或多个维度在用户的个性化数据权限集合中采用第二参数表达式和动态配置的第二参数值进行表征;
所述当前用户的数据权限集合中包括合并的第一参数表达式和动态配置的第一参数值,以及,第二参数表达式和动态配置的第二参数值。
23.根据权利要求20或21或22所述的装置,其特征在于,还包括:
数据权限集合保存模块,用于将所述用户的数据权限集合保存至所述应用系统集群的当前会话中;
数据操作控制模块,用于依据所述数据权限集合对当前用户在应用系统集群中的数据操作进行控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310139354.XA CN104112085A (zh) | 2013-04-19 | 2013-04-19 | 一种应用系统集群的数据权限控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310139354.XA CN104112085A (zh) | 2013-04-19 | 2013-04-19 | 一种应用系统集群的数据权限控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104112085A true CN104112085A (zh) | 2014-10-22 |
Family
ID=51708871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310139354.XA Pending CN104112085A (zh) | 2013-04-19 | 2013-04-19 | 一种应用系统集群的数据权限控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104112085A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537316A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市科漫达智能管理科技有限公司 | 一种基于功能权限的数据授权方法及装置 |
CN105100051A (zh) * | 2015-05-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 实现数据资源访问权限控制的方法及系统 |
CN105225072A (zh) * | 2015-11-05 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种多应用系统的访问管理方法及系统 |
CN105426770A (zh) * | 2015-11-13 | 2016-03-23 | 广东网金控股股份有限公司 | 面向多维数据的权限管理机制的配置方法及装置 |
CN105740724A (zh) * | 2016-01-28 | 2016-07-06 | 浪潮通用软件有限公司 | 一种权限管理的方法及装置 |
CN107172044A (zh) * | 2017-05-15 | 2017-09-15 | 深圳市茁壮网络股份有限公司 | 一种终端权限控制方法及装置 |
CN107844708A (zh) * | 2017-11-06 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 面向装备管理业务的数据权限控制系统及其控制方法 |
CN108268790A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据权限的配置方法及装置 |
CN108388809A (zh) * | 2018-01-17 | 2018-08-10 | 链家网(北京)科技有限公司 | 一种数据范围控制方法和系统 |
WO2019029648A1 (zh) * | 2017-08-10 | 2019-02-14 | 成都牵牛草信息技术有限公司 | 基于改进型rbac权限控制机制的审批任务转交方法 |
CN110365715A (zh) * | 2019-08-26 | 2019-10-22 | 北京思特奇信息技术股份有限公司 | 一种多租户操作权限确定方法及装置 |
CN111125676A (zh) * | 2019-12-23 | 2020-05-08 | 北京百度网讯科技有限公司 | 联合授权方法和装置 |
CN112100641A (zh) * | 2020-11-09 | 2020-12-18 | 成都掌控者网络科技有限公司 | 一种多维授权方法、系统、设备及存储介质 |
CN112449145A (zh) * | 2019-08-28 | 2021-03-05 | 杭州海康威视数字技术股份有限公司 | 摄像机权限管理方法及装置 |
CN114780933A (zh) * | 2022-06-22 | 2022-07-22 | 煜象科技(杭州)有限公司 | 一种支持多应用的数据权限控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885297A (zh) * | 2006-06-02 | 2006-12-27 | 石杰 | 带有精细访问控制策略的基于角色的访问控制模型的方法 |
CN1960252A (zh) * | 2006-06-30 | 2007-05-09 | 南京联创科技股份有限公司 | 基于角色的多维度对象访问控制方法 |
CN101034990A (zh) * | 2007-02-14 | 2007-09-12 | 华为技术有限公司 | 权限管理方法及装置 |
CN101299216A (zh) * | 2008-05-28 | 2008-11-05 | 华为技术有限公司 | 权限管理方法、装置及系统 |
US20090205022A1 (en) * | 2006-06-22 | 2009-08-13 | Koninklijke Philips Electronics N. V. | Advanced access control for medical ad hoc body sensor networks |
CN102043931A (zh) * | 2010-01-19 | 2011-05-04 | 中国人民解放军第二军医大学东方肝胆外科医院 | 一种基于角色权限动态转换的隐私数据访问控制方法 |
CN102354356A (zh) * | 2011-09-29 | 2012-02-15 | 用友软件股份有限公司 | 数据权限管理装置和方法 |
-
2013
- 2013-04-19 CN CN201310139354.XA patent/CN104112085A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1885297A (zh) * | 2006-06-02 | 2006-12-27 | 石杰 | 带有精细访问控制策略的基于角色的访问控制模型的方法 |
US20090205022A1 (en) * | 2006-06-22 | 2009-08-13 | Koninklijke Philips Electronics N. V. | Advanced access control for medical ad hoc body sensor networks |
CN1960252A (zh) * | 2006-06-30 | 2007-05-09 | 南京联创科技股份有限公司 | 基于角色的多维度对象访问控制方法 |
CN101034990A (zh) * | 2007-02-14 | 2007-09-12 | 华为技术有限公司 | 权限管理方法及装置 |
CN101299216A (zh) * | 2008-05-28 | 2008-11-05 | 华为技术有限公司 | 权限管理方法、装置及系统 |
CN102043931A (zh) * | 2010-01-19 | 2011-05-04 | 中国人民解放军第二军医大学东方肝胆外科医院 | 一种基于角色权限动态转换的隐私数据访问控制方法 |
CN102354356A (zh) * | 2011-09-29 | 2012-02-15 | 用友软件股份有限公司 | 数据权限管理装置和方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537316A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市科漫达智能管理科技有限公司 | 一种基于功能权限的数据授权方法及装置 |
CN105100051A (zh) * | 2015-05-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 实现数据资源访问权限控制的方法及系统 |
CN105100051B (zh) * | 2015-05-29 | 2019-04-26 | 上海京东到家元信信息技术有限公司 | 实现数据资源访问权限控制的方法及系统 |
CN105225072A (zh) * | 2015-11-05 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种多应用系统的访问管理方法及系统 |
CN105225072B (zh) * | 2015-11-05 | 2020-12-04 | 浪潮(北京)电子信息产业有限公司 | 一种多应用系统的访问管理方法及系统 |
CN105426770A (zh) * | 2015-11-13 | 2016-03-23 | 广东网金控股股份有限公司 | 面向多维数据的权限管理机制的配置方法及装置 |
CN105426770B (zh) * | 2015-11-13 | 2018-05-15 | 广东网金控股股份有限公司 | 面向多维数据的权限管理机制的配置方法 |
CN105740724A (zh) * | 2016-01-28 | 2016-07-06 | 浪潮通用软件有限公司 | 一种权限管理的方法及装置 |
CN108268790A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据权限的配置方法及装置 |
CN107172044A (zh) * | 2017-05-15 | 2017-09-15 | 深圳市茁壮网络股份有限公司 | 一种终端权限控制方法及装置 |
WO2019029648A1 (zh) * | 2017-08-10 | 2019-02-14 | 成都牵牛草信息技术有限公司 | 基于改进型rbac权限控制机制的审批任务转交方法 |
CN107844708A (zh) * | 2017-11-06 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 面向装备管理业务的数据权限控制系统及其控制方法 |
CN108388809A (zh) * | 2018-01-17 | 2018-08-10 | 链家网(北京)科技有限公司 | 一种数据范围控制方法和系统 |
CN108388809B (zh) * | 2018-01-17 | 2021-02-02 | 贝壳找房(北京)科技有限公司 | 一种数据范围控制方法和系统 |
CN110365715A (zh) * | 2019-08-26 | 2019-10-22 | 北京思特奇信息技术股份有限公司 | 一种多租户操作权限确定方法及装置 |
CN112449145A (zh) * | 2019-08-28 | 2021-03-05 | 杭州海康威视数字技术股份有限公司 | 摄像机权限管理方法及装置 |
CN112449145B (zh) * | 2019-08-28 | 2022-08-16 | 杭州海康威视数字技术股份有限公司 | 摄像机权限管理方法及装置 |
CN111125676A (zh) * | 2019-12-23 | 2020-05-08 | 北京百度网讯科技有限公司 | 联合授权方法和装置 |
CN111125676B (zh) * | 2019-12-23 | 2022-06-03 | 北京百度网讯科技有限公司 | 联合授权方法和装置 |
CN112100641A (zh) * | 2020-11-09 | 2020-12-18 | 成都掌控者网络科技有限公司 | 一种多维授权方法、系统、设备及存储介质 |
CN114780933A (zh) * | 2022-06-22 | 2022-07-22 | 煜象科技(杭州)有限公司 | 一种支持多应用的数据权限控制方法 |
CN114780933B (zh) * | 2022-06-22 | 2022-10-11 | 煜象科技(杭州)有限公司 | 一种支持多应用的数据权限控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104112085A (zh) | 一种应用系统集群的数据权限控制方法和装置 | |
Maesa et al. | Blockchain based access control services | |
CN109214197B (zh) | 基于区块链来处理隐私数据的方法、装置及存储介质 | |
CN102165447B (zh) | 用于管理对于实体的组织信息的访问的技术 | |
US7299171B2 (en) | Method and system for processing grammar-based legality expressions | |
US8955040B2 (en) | Provisioning authorization claims using attribute-based access-control policies | |
US9245058B2 (en) | Method and system of hierarchical metadata management and application | |
EP1625691B1 (en) | System and method for electronic document security | |
US7865521B2 (en) | Access control for elements in a database object | |
AU2011202734B2 (en) | Dynamic management of role membership | |
US20150033327A1 (en) | Systems and methodologies for managing document access permissions | |
CN104573478A (zh) | 一种Web应用的用户权限管理系统 | |
CN113297550A (zh) | 权限控制的方法、装置、设备、存储介质及程序产品 | |
CN105051749A (zh) | 基于策略的数据保护 | |
CN104094261A (zh) | 访问受限数据的优化处理方法 | |
CN110727930B (zh) | 权限控制方法及装置 | |
CN106302492A (zh) | 一种访问控制方法及系统 | |
CN112287011A (zh) | 一种基于中间文件的可配置多源异构数据共享系统及方法 | |
CN116090000A (zh) | 文件安全管理方法、系统、设备、介质和程序产品 | |
CN111861096A (zh) | 决策流程可视化配置管理方法及系统 | |
Guermazi et al. | Adaptive security for Cloud data warehouse as a service | |
US8726336B2 (en) | Authorizations for analytical reports | |
CN115174177B (zh) | 权限管理方法、装置、电子设备、存储介质和程序产品 | |
Xie et al. | JDAS: a software development framework for multidatabases | |
Xu et al. | Trusted Non-intrusive Data Exchange based on Ontology in Logistics Industry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141022 |
|
WD01 | Invention patent application deemed withdrawn after publication |