CN103646218A - 数据访问权限和行为权限的定义装置和定义方法 - Google Patents
数据访问权限和行为权限的定义装置和定义方法 Download PDFInfo
- Publication number
- CN103646218A CN103646218A CN201310683562.6A CN201310683562A CN103646218A CN 103646218 A CN103646218 A CN 103646218A CN 201310683562 A CN201310683562 A CN 201310683562A CN 103646218 A CN103646218 A CN 103646218A
- Authority
- CN
- China
- Prior art keywords
- authority
- data
- data object
- control
- behavior
- 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.)
- Granted
Links
Images
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
-
- 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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
本发明提供了一种数据访问权限和行为权限的定义装置,包括:数据绑定模块,通过基于数据对象元数据建立的绑定通道,关联数据对象和权限数据对象;权限处理模块,基于前述关联,管理权限的集合,提供权限的创建、更新和校验方法;数据处理模块,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。本发明还提供了一种数据访问权限和行为权限的定义方法。通过本发明的技术方案,可以在现有数据访问权限和行为权限定义方式基础上,充分利用静态数据访问权限和行为权限完成动态数据访问权限和行为权限定义,建立动态数据访问权限和行为权限参与的面向控制和动态扩展数据访问权限和行为权限的通用、统一定义思路。
Description
技术领域
本发明涉及数据处理技术领域,具体地,涉及一种数据访问权限和行为权限的定义装置和一种数据访问权限和行为权限的定义方法。
背景技术
在数据处理流程和功能快速变化持续改进的情况下,用户期待保持数据对象不变的情况下,支持更丰富的更灵活的权限控制逻辑实现,目前通用的实现方面有以下共同的特性:
⑴在设计态使用管控模式描述数据的可见范围;⑵在定义数据时指定所属的管控模式,及确定数据的可见范围;⑶设计态定义可支持的行为组织之间的委托关系类型,使用委托关系定义实现数据所属组织之间的行为赋权定义;并绑定固定的业务处理逻辑;⑷设计态明确定义指定某类行为的执行者的数据属性,固化执行者属性,并在设计态代码中行为执行者使用执行者属性决定行为处理逻辑;⑸运行态具体数据,依据该类数据使用的管控范围控制可见性;⑹运行态具体数据,依据定义该数据的组织和具体行为的执行组织之间的业务委托关系来选择具体行为的执行组织并保存为具体数据的行为执行者属性的数据值;⑺运行态是否可对具体数据执行某行为,依据该数据的行为执行者属性是否为当前行为组织来决定;⑻使用分配或下发功能实现某类数据在不同的可见性范围内的可见性赋权。
另外,在专利(申请)号为201010585547、名称为“一种权限配置方法、装置及系统”的专利(申请)文件中,提供了一种权限配置方法、装置及系统,所述方法包括下述步骤:在系统页面中生成功能菜单;将所述功能菜单对应的权限配置页签载入所述系统页面;在所述权限配置页签中配置所述功能菜单的权限。本发明通过在对功能菜单进行定义时从权限管理模块中调用权限配置页签并进行载入,实现在同一页面完成对功能菜单的定义和权限配置,减少了用户的操作步骤,提高了系统的易用性。
在专利(申请)号为201010536592、名称为“权限管理方法和装置、权限控制方法和装置”的专利(申请)文件中,提供了一种权限管理方法和装置、权限控制方法和装置,其中的权限控制方法具体包括:依据预置的用户与角色之间的多对多映射关系,获取当前用户所对应的多个角色;依据预置的角色权限映射关系,获取所述多个角色对应的权限;依据所述多个角色对应的权限,向所述当前用户开放权限。本发明能够提高用户的工作效率,且增加权限使用的方便性。
以上技术在一定程度上实现了数据对象和权限逻辑的分离,提高了开发效率和用户体验。但仍存在一些不足:
⑴在定义数据对象时其可见性范围就需要确定,并且管控模式是预定义的系统参数,不能支持不同数据的可见性范围的差异化需求。同类数据,由于其生命周期的不同,各生命周期阶段的可见性范围存在不同。
⑵数据对象和权限控制紧密绑定,在定义数据对象时其行为执行者就需要确定。而现实情况是行为组织之间的委托关系,一般用于比较稳定的业务行为,对于很多临时性的业务行为,需要按照具体数据临时指定,在定义数据时不能确定。
⑶在企业管理软件中,经常会有根据不同场景定义多种不同的可见性范围和业务行为委托关系,现有技术在运行期间,不能很好地支持这种权限控制逻辑的扩展。
通常情况下,软件的某个功能模块包括该业务数据、逻辑操作,以及用户界面(UI)。其中,业务数据是功能模块要处理或生成的数据对象,逻辑操作是对业务数据的处理过程和方法,用户界面向用户呈现业务数据,并负责把用户的操作映射为逻辑操作,并把操作的结果反馈给用户。
现有技术一般通过数据处理完成数据对象的活动处理与业务数据(包括权限数据)处理模块间的交互,其中处理权限控制的逻辑硬代码编写在数据对象的活动处理实现中。如图6所示。
当执行定义某数据的活动处理时,比如新增或修改数据对象时,需要根据委托关系指定相关行为执行者,并根据系统对该数据指定的管控范围验证唯一性。当执行特定的行为,比如对数据对象执行销售时,对应的活动接收要处理的数据对象,读取数据对象,包括数据的权限数据,首先按照数据的可见性范围确定当前执行者是否可对该数据执行该行为,及该执行者是否是相关行为执行者,执行权限控制的逻辑硬代码,验证通过,执行其它逻辑,从而完成对用户操作指令做出相应的业务逻辑操作。
根据现有技术的特性,程序模块设计和运行期间表现为如图7所示的形式。在设计和运行时,数据对象的权限数据被固化为系统参数和数据对象的行为执行者等固定的有限的属性,活动的逻辑和权限控制逻辑针对该数据结构进行硬编码,所有代码被包装在同一个活动处理的程序对象中,这个程序对象既包含数据对象活动的逻辑,又包含权限控制逻辑。不论是在设计时还是在运行时,数据对象活动的逻辑和权限控制的数据结构和逻辑都有完全耦合关系,由于固化属性,使得扩展行为组织就必须添加属性,同时修改控制逻辑代码,从而使设计时并行开发、运行时动态扩展和替换权限控制逻辑等需求难以实现。
因此,需要一种新的数据访问权限和行为权限的定义技术,可以在现有的数据访问权限和行为权限定义方式基础上,充分利用静态数据访问权限和行为权限完成动态数据访问权限和行为权限定义,建立动态数据访问权限和行为权限参与的面向控制和动态扩展数据访问权限和行为权限的通用、统一定义思路。
发明内容
本发明正是基于上述问题,提出了一种新的数据访问权限和行为权限的定义技术,可以在现有的数据访问权限和行为权限定义方式基础上,充分利用静态数据访问权限和行为权限完成动态数据访问权限和行为权限定义,建立动态数据访问权限和行为权限参与的面向控制和动态扩展数据访问权限和行为权限的通用、统一定义思路。
有鉴于此,本发明提出了一种数据访问权限和行为权限的定义装置,包括:数据绑定模块,用于基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;权限处理模块,用于基于所述数据绑定模块关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;数据处理模块,用于在所述权限处理模块实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。在该技术方案中,可以通过在数据对象和权限数据之间建立关联,通过权限管理器对数据的权限进行创建、更新、校验和管理,在数据对象和权限管理器之间建立逻辑关联,从而将根据权限数据对象同步记录最新的权限,灵活性大,处理效率高。
在上述技术方案中,优选地,所述数据绑定模块,具体包括:绑定通道建立模块,用于在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;关联及更新模块,用于数据对象和权限数据对象经过所述绑定通道建立模块建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
在上述技术方案中,优选地,所述权限处理模块,具体包括:权限管理模块,用于权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;权限创建模块,用于权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;权限更新模块,用于权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;权限校验模块,用于权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;权限控制模块,用于在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
在上述技术方案中,优选地,所述权限管理模块和/或所述权限控制模块在实际流程中对权限进行灵活配置的操作,具体包括:在运行态根据实际需要扩展、修改或新建;以及,所述权限创建模块提供的权限创建方法,具体包括:接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,所述权限更新模块提供的权限更新方法,具体包括:接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,所述权限校验模块提供的权限校验方法,具体包括:接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
在上述技术方案中,优选地,所述数据处理模块,具体包括:事件处理模块,用于解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;插件处理模块,用于基于所述事件处理模块触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;服务调用模块,用于基于所述插件处理模块完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
根据本发明的又一个方面,还提出了一种数据访问权限和行为权限的定义方法,包括:步骤202:基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;步骤204:基于所述步骤202关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;步骤206:在所述步骤204实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。在该技术方案中,可以通过在数据对象和权限数据之间建立关联,通过权限管理器对数据的权限进行创建、更新、校验和管理,在数据对象和权限管理器之间建立逻辑关联,从而将根据权限数据对象同步记录最新的权限,灵活性大,处理效率高。
在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;步骤304:数据对象和权限数据对象经过所述步骤302建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;步骤404:权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;步骤406:权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;步骤408:权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;步骤410:在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
在上述技术方案中,优选地,所述步骤402和/或所述步骤410在实际流程中对权限进行灵活配置的操作,具体包括:在运行态根据实际需要扩展、修改或新建;以及,所述步骤404提供的权限创建方法,具体包括:接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,所述步骤406提供的权限更新方法,具体包括:接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,所述步骤408提供的权限校验方法,具体包括:接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
在上述技术方案中,优选地,所述步骤206,具体包括:步骤502:解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;步骤504:基于所述步骤502触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;步骤506:基于所述步骤504完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
通过以上技术方案,可以在现有的数据访问权限和行为权限定义方式基础上,充分利用静态数据访问权限和行为权限完成动态数据访问权限和行为权限定义,建立动态数据访问权限和行为权限参与的面向控制和动态扩展数据访问权限和行为权限的通用、统一定义思路。
附图说明
图1示出了根据本发明的实施例的数据访问权限和行为权限的定义装置的框图;
图2示出了根据本发明的实施例的数据访问权限和行为权限的定义方法的流程图;
图3示出了根据本发明的实施例的数据绑定模块的工作流程图;
图4示出了根据本发明的实施例的权限处理模块的工作流程图;
图5示出了根据本发明的实施例的数据处理模块的工作流程图;
图6示出了现有的数据对象的活动处理与业务数据(包括权限数据)处理模块间的交互流程图;
图7示出了现有的程序模块设计和运行期间表现形式图;
图8示出了根据本发明的实施例的数据对象的权限控制逻辑图;
图9示出了根据本发明的实施例的以项目经理为示例的权限管理对象层次结构图;
图10示出了根据本发明的实施例的触发权限控制逻辑处理机制图;
图11示出了根据本发明的实施例的数据对象的权限控制逻辑处理机制图;
图12示出了根据本发明的实施例的将数据活动和权限逻辑区隔开来的处理机制图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的数据访问权限和行为权限的定义装置的框图。
如图1所示,根据本发明的实施例的数据访问权限和行为权限的定义装置100,包括:数据绑定模块102,用于基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;权限处理模块104,用于基于数据绑定模块102关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;数据处理模块106,用于在权限处理模块104实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。在该技术方案中,可以通过在数据对象和权限数据之间建立关联,通过权限管理器对数据的权限进行创建、更新、校验和管理,在数据对象和权限管理器之间建立逻辑关联,从而将根据权限数据对象同步记录最新的权限,灵活性大,处理效率高。
在上述技术方案中,优选地,数据绑定模块102具体包括:绑定通道建立模块,用于在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;关联及更新模块,用于数据对象和权限数据对象经过绑定通道建立模块建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
在上述技术方案中,优选地,权限处理模块104具体包括:权限管理模块,用于权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;权限创建模块,用于权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;权限更新模块,用于权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;权限校验模块,用于权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;权限控制模块,用于在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
在上述技术方案中,优选地,权限管理模块和/或权限控制模块在实际流程中对权限进行灵活配置的操作,具体包括:在运行态根据实际需要扩展、修改或新建;以及,权限创建模块提供的权限创建方法,具体包括:接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,权限更新模块提供的权限更新方法,具体包括:接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,权限校验模块提供的权限校验方法,具体包括:接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
在上述技术方案中,优选地,数据处理模块106具体包括:事件处理模块,用于解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;插件处理模块,用于基于事件处理模块触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;服务调用模块,用于基于插件处理模块完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
图2示出了根据本发明的实施例的数据访问权限和行为权限的定义方法的流程图。
如图2所示,根据本发明的实施例的数据访问权限和行为权限的定义方法,包括:步骤202:基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;步骤204:基于步骤202关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;步骤206:在步骤204实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。在该技术方案中,可以通过在数据对象和权限数据之间建立关联,通过权限管理器对数据的权限进行创建、更新、校验和管理,在数据对象和权限管理器之间建立逻辑关联,从而将根据权限数据对象同步记录最新的权限,灵活性大,处理效率高。
在上述技术方案中,优选地,如图3所示,步骤202具体包括:步骤302:在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;步骤304:数据对象和权限数据对象经过步骤302建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
在上述技术方案中,优选地,如图4所示,步骤204具体包括:步骤402:权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;步骤404:权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;步骤406:权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;步骤408:权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;步骤410:在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
在上述技术方案中,优选地,步骤402和/或步骤410在实际流程中对权限进行灵活配置的操作,具体包括:在运行态根据实际需要扩展、修改或新建;以及,步骤404提供的权限创建方法,具体包括:接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,步骤406提供的权限更新方法,具体包括:接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,步骤408提供的权限校验方法,具体包括:接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
在上述技术方案中,优选地,如图5所示,步骤206具体包括:步骤502:解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;步骤504:基于步骤502触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;步骤506:基于步骤504完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
例如,在本发明的技术方案中,为实现针对数据在不同生命周期阶段需要控制不同的访问权限和行为权限,本发明提出一种通过数据绑定、权限处理(事件处理或插件机制或服务调用或AOP)和数据处理来实现的实现方法。其中,数据绑定实现数据对象到权限数据的映射,使数据对象可以从权限逻辑中独立出来,并在权限数据和数据对象之间保持关联;数据处理完成数据对象的活动对数据对象的变更影响,同时进行权限的定义和控制处理;权限处理主要有以下几种方式:
⑴事件处理机制,解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;
⑵插件机制,是另一种解除数据对象的活动处理和权限控制逻辑代码间的依赖关系的方法,权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,从而完成数据对象的权限控制逻辑;
⑶方法调用,是数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,这种机制下,数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名,不依赖于其内部逻辑,从功能上将数据活动和权限逻辑区隔开来。
⑷AOP实现,是另一种解除数据对象的活动处理和权限控制逻辑代码间的依赖关系的方法,权限控制逻辑实现为权限控制AOP方面,数据对象的活动标记需要处理权限AOP,执行活动时,通过AOP机制自动触发权限控制,从而完成数据对象的权限控制逻辑;如图8所示。
具体地,本发明技术方案的实现过程可以如下:
㈠数据绑定
作为一项现有的通用技术,数据绑定简化了应用程序开发。数据绑定技术是实现数据对象及活动与权限逻辑分离方法的基础。
数据对象和权限数据对象经过绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。这样,避免了由活动逻辑模块处理权限逻辑并转换为数据对象数据的操作。同时,绑定机制动态更改绑定上下文,同一个权限可处理不同的数据对象而不需做出改动。
例如,在项目管理模块中,项目的权限根据不同的项目类型会有不同的权限个数。定义为项目数据和权限数据:
行为权限定义
权限 | 权限分类 |
新建 | 内部 |
计划 | |
预算 | |
验收 | |
完工 | |
移交 | |
关闭 | |
销售 | 外部 |
生产 | |
采购 | |
库存 | |
财务 | |
收付 |
行为权限与业务对照定义
权限 | 业务 |
新建 | 新建项目 |
计划 | 项目计划 |
预算 | 项目预算 |
验收 | 项目验收 |
完工 | 项目完工 |
移交 | 项目产出物移交 |
关闭 | 项目结项 |
销售 | 销售订单 |
生产 | 生产订单 |
采购 | 物资需求申请单,请购单,采购订单 |
库存 | 入库单,材料出库单 |
财务 | 总账凭证 |
收付 | 应收单,应付单,付款单,收款单 |
权限角色
角色 | 权限分类 | 权限 |
项目经理 | 内部 | |
预算员 | 内部 | 预算 |
营销中心 | 外部 | 销售 |
项目库管 | 外部 | 库存 |
财务入账 | 外部 | 财务 |
新增项目如下:
项目
项目号 | 项目类型 | 创建人 |
Proj01 | 业主方基建 | 罗涛 |
项目保存后,权限数据如下:
可见性权限
项目号 | 可见性范围 | 唯一性范围 | 阶段 |
Proj01 | 组织 | 集团 | 新建 |
行为权限
项目号 | 角色 | 组织 | 人 |
Proj01 | 项目经理 | 项目组织 | 罗涛 |
执行业务授权
项目号 | 角色 | 组织 | 人 |
Proj01 | 营销中心 | 上海营销中心 | |
财务入账 | 北京公司 |
此时,权限数据如下:
可见性权限
项目号 | 可见性范围 | 唯一性范围 | 阶段 |
Proj01 | 组织 | 集团 | 新建 |
行为权限
项目号 | 角色 | 组织 | 人 |
Proj01 | 项目经理 | 项目组织 | 罗涛 |
Proj01 | 营销中心 | 上海营销中心 | |
Proj01 | 财务入账 | 北京公司 |
在本发明的技术方案中,数据绑定为数据对象和权限数据对象之间提供数据同步的交互途径。在数据对象元数据中指定绑定源和绑定路径,元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源。
㈡权限处理
在管理软件中,业务数据在不同的权限下数据对象的可执行业务操作会有不同。当设置某个活动使业务数据对象权限发生改变时,权限数据会发生变化。例如项目可能有项目经理,营销,库存等权限。不同权限下,项目允许执行不同的活动的控制逻辑,如是否可被某公司用于销售、是否可撤消发布、是否可关闭等情况,这要求项目数据同时也能反映项目权限,确定可以执行哪些活动,不可以执行哪些活动。
通常开发中,权限控制逻辑需要业务逻辑模块根据业务数据权限在活动内部编码实现,需要较多的权限判断操作,并且逻辑代码需要明确引用并固化实现权限的控制逻辑。这种控制方式繁琐且耦合度较高。本发明描述的权限处理技术可以为数据对象权限控制提供简单的方案。
权限处理机制涉及的对象包括权限管理器、角色实例、可见权限控制项、行为权限控制项,以项目经理为示例的权限管理对象层次结构如图9所示。
其中,⑴权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在运行态根据实际需要扩展,修改或新建。⑵权限管理器提供权限创建的方法以便程序可以创建权限,并通过数据绑定获取数据对象的所有权限;该方法接收数据对象和权限设置数据,判断该数据的对应权限是否存在,如果存在,返回权限已存在,不能创建消息,如果不存在,则创建该数据的权限实例数据。⑶权限管理器提供权限更新的方法以便程序可以更新权限,并通过数据绑定获取数据对象的权限;该方法接收数据对象和新旧权限设置数据,如果新旧权限都为空,返回权限未指定,不能更新的消息;如果新旧权限都不为空,则首先读取数据对象的旧权限,如果不存在,返回权限不存在,不能更新的消息,然后查询数据对象是否存在新权限,如果存在,返回权限已存在,不能更新的消息,最后将旧权限替换为新权限;如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限。⑷权限管理器提供权限校验的方法以便程序可以校验当前权限下当前活动是否允许执行;该方法接收执行者,数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。⑸每个权限中可定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该集合允许在设计态设置,同时支持在运行态根据实际需要扩展,修改或新建。⑹权限管理器的权限集合,权限控制项集合支持根据实际需要在运行时动态扩展和修改或新建,以支持实际流程对于权限的灵活配置。
㈢数据处理
在实现权限管理器的基础上,数据处理通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。执行活动时自动获取数据对象的当前权限值,执行前通知权限管理器校验活动是否可执行,对于角色分配活动,活动执行完成后通知权限管理器更新数据的权限,权限管理器刷新权限后,绑定机制通知数据对象权限已更改,并自动传送最新权限值,然后校验数据对象在当前可见权限下的唯一性。
数据处理主要有以下三种方式:
⑴事件处理机制,解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;处理机制如图10所示。
一般活动包括:①当针对数据对象执行某个活动时,该活动获取数据对象的实例,并将其作为事件的参数,发出该活动的开始事件;②权限管理器侦听该活动的开始事件,调用权限校验方法,返回校验结果;③如果校验不通过,权限管理器返回不通过的异常结果;④该活动接收不通过的异常结果,返回活动调用者;⑤活动执行完成后,发出该活动的完成事件。
角色分配活动包括:①当针对数据对象执行某个活动时,该活动获取数据对象的实例,并将其作为事件的参数,发出该活动的开始事件;②权限管理器侦听该活动的开始事件,调用权限校验方法,返回校验结果;③如果校验不通过,权限管理器返回不通过的异常结果;④该活动接收不通过的异常结果,返回活动调用者;⑤活动执行完成后,发出该活动的完成事件;⑥权限管理器侦听该活动的完成事件,调用权限更新方法,执行权限更新。
⑵插件机制,是另一种解除数据对象的活动处理和权限控制逻辑代码间的依赖关系的方法,权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,从而完成数据对象的权限控制逻辑;处理机制如图11所示。
一般活动包括:①设计态,权限管理器针对活动公布的处理前和完成插件标准,编写符合要求的权限校验和权限更新插件代码,该插件代码内部分别调用权限管理器的权限校验方法和权限更新方法。②当针对数据对象执行某个活动时,该活动获取数据对象的实例,调用处理前插件中注册的插件,调用权限管理器的校验插件;③权限管理器的校验插件调用权限校验方法,返回校验结果;④如果校验不通过,权限管理器返回不通过的异常结果;⑤该活动接收不通过的异常结果,返回活动调用者;⑥活动执行后即动作。
角色分配活动包括:①设计态,权限管理器针对活动公布的处理前和完成插件标准,编写符合要求的权限校验和权限更新插件代码,该插件代码内部分别调用权限管理器的权限校验方法和权限更新方法。②当针对数据对象执行某个活动时,该活动获取数据对象的实例,调用处理前插件中注册的插件,调用权限管理器的校验插件。③权限管理器的校验插件调用权限校验方法,返回校验结果。④如果校验不通过,权限管理器返回不通过的异常结果。⑤该活动接收不通过的异常结果,返回活动调用者。⑥活动执行完成后,调用完成插件中注册的插件,调用权限管理器的完成插件。⑦权限管理器的完成插件调用权限更新方法,执行权限更新。
⑶方法调用,是数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,这种机制下,数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名,不依赖于其内部逻辑,从功能上将数据活动和权限逻辑区隔开来。处理机制如图12所示。
一般活动包括:①设计态,活动根据权限管理器公布的权限校验方法和权限更新方法,在活动内部分别编写调用权限管理器的权限校验方法和权限更新方法的代码实现。②运行时,当针对数据对象执行某个活动时,该活动获取数据对象的实例,主动调用权限管理器的校验方法。③如果校验不通过,权限管理器返回不通过的异常结果。④该活动接收不通过的异常结果,返回活动调用者。⑤校验通过,执行活动其他处理。
角色分配活动包括:①设计态,活动根据权限管理器公布的权限校验方法和权限更新方法,在活动内部分别编写调用权限管理器的权限校验方法和权限更新方法的代码实现。②运行时,当针对数据对象执行某个活动时,该活动获取数据对象的实例,主动调用权限管理器的校验方法。③如果校验不通过,权限管理器返回不通过的异常结果。④该活动接收不通过的异常结果,返回活动调用者。⑤校验通过,执行活动其他处理。⑥活动执行完成时,调用权限管理器的权限更新方法,执行权限更新。
综上所述,本发明的技术方案,使用数据绑定、权限处理、数据处理技术在设计时和运行时都拆分了数据对象和活动与权限数据和控制逻辑模块之间的依赖耦合关系,支持在设计态和运行态根据实际需要扩展,修改或新建权限及其控制逻辑,而不需要修改数据对象及其活动的逻辑代码。实现了数据对象和活动与控制逻辑相分离的目的。
本发明的技术方案,描述一种实现针对数据在不同生命周期阶段需要控制不同的访问权限,并指定哪些角色可以对该数据执行哪些行为的权限设置和控制的方法。本发明的技术方案所描述的数据对象和活动与控制逻辑的分离方法,在设计时和运行时带来了较大的灵活性和效率改进:
⑴支持在定义数据对象时不需要确定其可见性范围,支持同类数据,由于其生命周期的不同,在各生命周期阶段定义不同的可见性范围;⑵通过角色绑定权限,在定义数据对象的行为执行者时,不需要预先定义行为组织之间的委托关系,并且不需要在定义数据时就指定,而是根据数据的不同生命周期阶段,按照具体数据通过角色指派临时指定行为的执行者(可以是有委托关系的职能组织或临时指定);⑶支持在运行态,通过角色维护和扩展,实现根据不同场景定义多种不同的可见性范围和业务行为委托关系;⑷提供公共的API,支持业务数据的权限定义和控制;⑸提供多种方式的权限控制方法,实现业务数据的权限控制。
本发明的技术方案,针对数据在不同生命周期阶段需要控制不同的访问权限和行为权限的方法,通过实现行为绑定、权限绑定、逻辑模型绑定等机制,结合现有的服务机制、事件机制和AOP技术等开发技术,最终实现一个针对数据在不同生命周期阶段需要控制不同的访问权限和行为权限并可以动态扩展的系统。本发明的技术方案,可应用于软件开发活动中实现根据需要在不同阶段指定具体角色对数据的访问权限和行为权限,并实现权限控制逻辑和数据本身设计分离、并行开展,同时适用于在软件系统中支持动态用户角色,权限定义和动态权限控制的应用场景。
本发明的技术方案中,名词解释如下:
访问权限:可以查看引用某数据的权限,包括:查询数据,参照数据等;
行为权限:可以使用某数据执行某种行为的权限,例如:销售行为表示可使用该数据执行销售相关的处理;
管控模式:一种定义数据可见性和唯一性的实现技术,通过预先定义的管控模式可定义数据的可见范围和唯一性校验范围,如管控模式是555,代表该数据只能在上级集团定义,并在集团方位内,业务主键不能重复,同时表示该数据在集团及其下属公司范围内可见;如管控模式是777,代表该数据只能由具体组织定义,并在具体组织内,业务主键不能重复,同时表示该数据只能被定义的具体组织可见。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对动态数据访问权限和行为权限定义的解决办法。现有的数据访问权限和行为权限定义无法完成有动态数据参与的访问权限和行为权限定义。因此,本发明提出了一种数据访问权限和行为权限的定义装置和一种数据访问权限和行为权限的定义方法,可以在现有的数据访问权限和行为权限定义方式基础上,充分利用静态数据访问权限和行为权限完成动态数据访问权限和行为权限定义,建立动态数据访问权限和行为权限参与的面向控制和动态扩展数据访问权限和行为权限的通用、统一定义思路。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据访问权限和行为权限的定义装置,其特征在于,包括:
数据绑定模块,用于基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;
权限处理模块,用于基于所述数据绑定模块关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;
数据处理模块,用于在所述权限处理模块实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。
2.根据权利要求1所述的数据访问权限和行为权限的定义装置,其特征在于,所述数据绑定模块,具体包括:
绑定通道建立模块,用于在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;
关联及更新模块,用于数据对象和权限数据对象经过所述绑定通道建立模块建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
3.根据权利要求1所述的数据访问权限和行为权限的定义装置,其特征在于,所述权限处理模块,具体包括:
权限管理模块,用于权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;
权限创建模块,用于权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;
权限更新模块,用于权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;
权限校验模块,用于权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;
权限控制模块,用于在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
4.根据权利要求3所述的数据访问权限和行为权限的定义装置,其特征在于,所述权限管理模块和/或所述权限控制模块在实际流程中对权限进行灵活配置的操作,具体包括:
在运行态根据实际需要扩展、修改或新建;以及,
所述权限创建模块提供的权限创建方法,具体包括:
接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,
所述权限更新模块提供的权限更新方法,具体包括:
接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;
如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,
所述权限校验模块提供的权限校验方法,具体包括:
接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
5.根据权利要求1所述的数据访问权限和行为权限的定义装置,其特征在于,所述数据处理模块,具体包括:
事件处理模块,用于解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;
插件处理模块,用于基于所述事件处理模块触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;
服务调用模块,用于基于所述插件处理模块完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
6.一种数据访问权限和行为权限的定义方法,其特征在于,包括:
步骤202:基于数据对象元数据建立绑定通道,通过绑定通道关联数据对象和权限数据对象,并在数据新增或执行业务角色分配时更新权限数据对象的权限;
步骤204:基于所述步骤202关联的数据对象和权限数据对象,管理权限的集合,提供权限的创建、更新和校验方法;
步骤206:在所述步骤204实现权限管理的基础上,通过事件处理或插件机制或服务调用,将数据对象和权限管理器建立逻辑关联。
7.根据权利要求6所述的数据访问权限和行为权限的定义方法,其特征在于,所述步骤202,具体包括:
步骤302:在数据对象元数据中指定绑定源和绑定路径,建立绑定通道;元数据被加载并创建为数据对象后,控件可根据绑定上下文自动获取绑定的数据,并在更改时同步更新绑定源;
步骤304:数据对象和权限数据对象经过所述步骤302建立的绑定通道直接关联,更改通知机制负责在数据新增或执行业务角色分配时通知权限数据最新的权限,权限数据对象同步记录最新的权限。
8.根据权利要求6所述的数据访问权限和行为权限的定义方法,其特征在于,所述步骤204,具体包括:
步骤402:权限管理器管理权限的集合,权限集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置;
步骤404:权限管理器提供权限创建的方法,以创建权限、并通过数据绑定获取数据对象的所有权限;
步骤406:权限管理器提供权限更新的方法,以更新权限、并通过数据绑定获取数据对象的权限;
步骤408:权限管理器提供权限校验的方法,以校验当前权限下当前活动是否允许执行;
步骤410:在每个权限中定义包含多个权限控制项的集合,每个控制项控制项目自身的活动或其它的数据的活动是否允许在该权限下执行;该权限控制项集合允许在设计态设置,同时支持在实际流程中对权限进行灵活配置。
9.根据权利要求8所述的数据访问权限和行为权限的定义方法,其特征在于,所述步骤402和/或所述步骤410在实际流程中对权限进行灵活配置的操作,具体包括:
在运行态根据实际需要扩展、修改或新建;以及,
所述步骤404提供的权限创建方法,具体包括:
接收数据对象和权限设置数据,判断该接收数据的对应权限是否存在:若存在,则返回权限已存在而不能创建的消息;若不存在,则创建该接收数据的权限实例数据;以及,
所述步骤406提供的权限更新方法,具体包括:
接收数据对象和新旧权限设置数据,如果新旧权限都为空,则返回权限未指定而不能更新的消息;
如果新旧权限都不为空,则:首先读取数据对象的旧权限,如果数据对象的旧权限不存在,则返回权限不存在而不能更新的消息;然后查询数据对象是否存在新权限,如果数据对象存在新权限,则返回权限已存在而不能更新的消息;最后将旧权限替换为新权限,如果旧权限为空,则执行创建权限过程;如果新权限为空,则删除旧权限;以及,
所述步骤408提供的权限校验方法,具体包括:
接收执行者、数据对象和业务活动,首先读取数据对象的当前执行者的当前角色,然后读取该角色的权限控制项集合,判定当前活动是否允许执行并返回结果。
10.根据权利要求6所述的数据访问权限和行为权限的定义方法,其特征在于,所述步骤206,具体包括:
步骤502:解除数据对象的活动处理和权限控制逻辑代码间的依赖关系,权限控制逻辑通过侦听数据对象的活动发出的事件,触发权限控制逻辑处理;
步骤504:基于所述步骤502触发的权限控制逻辑按照数据对象的活动特定的插件规范,将权限控制逻辑处理作为一个插件注册进数据对象的活动的插件列表,数据对象活动读取注册的插件,完成数据对象的权限控制逻辑;
步骤506:基于所述步骤504完成的数据对象的权限控制逻辑,将数据对象的活动处理通过显式调用权限单元提供的权限控制逻辑方法完成数据对象的权限控制逻辑,将数据活动和权限逻辑区隔开来;数据对象活动处理只依赖于权限单元提供的权限控制逻辑方法的签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310683562.6A CN103646218B (zh) | 2013-12-12 | 2013-12-12 | 数据访问权限和行为权限的定义装置和定义方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310683562.6A CN103646218B (zh) | 2013-12-12 | 2013-12-12 | 数据访问权限和行为权限的定义装置和定义方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103646218A true CN103646218A (zh) | 2014-03-19 |
CN103646218B CN103646218B (zh) | 2016-09-28 |
Family
ID=50251431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310683562.6A Active CN103646218B (zh) | 2013-12-12 | 2013-12-12 | 数据访问权限和行为权限的定义装置和定义方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103646218B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056293A (zh) * | 2016-06-06 | 2016-10-26 | 浪潮通用软件有限公司 | 一种粮食收购管理系统及其配置方法 |
CN106130995A (zh) * | 2016-06-30 | 2016-11-16 | 三星电子(中国)研发中心 | 建立通信连接的方法、装置及系统 |
CN107111433A (zh) * | 2014-12-30 | 2017-08-29 | 三星电子株式会社 | 具有访问管理机制的电子系统及操作该电子系统的方法 |
CN107103417A (zh) * | 2017-04-19 | 2017-08-29 | 无锡史提沃德移动互联网科技有限公司 | 标准化多维链式预授权管理系统 |
CN107465653A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 权限管理系统及方法 |
CN107766743A (zh) * | 2017-11-09 | 2018-03-06 | 广州杰赛科技股份有限公司 | 文件访问权限的设置方法及装置、终端设备、存储介质 |
CN109033802A (zh) * | 2018-08-10 | 2018-12-18 | 武汉普利商用机器有限公司 | 未授权安卓应用获取系统权限的实现方法与装置 |
CN109388958A (zh) * | 2018-09-30 | 2019-02-26 | 四川长虹电器股份有限公司 | 一种基于切面的数据权限管理服务中间件平台方案 |
CN110941837A (zh) * | 2019-11-11 | 2020-03-31 | 北京仁科互动网络技术有限公司 | 一种基于元数据的数据权限配置方法及系统 |
CN111274606A (zh) * | 2020-01-20 | 2020-06-12 | 西安百想科技有限公司 | 一种实现业务通用数据权限管理的系统及其方法 |
CN112632492A (zh) * | 2020-12-18 | 2021-04-09 | 杭州新中大科技股份有限公司 | 一种用于矩阵化管理的多维权限模型设计方法 |
TWI732013B (zh) * | 2016-12-12 | 2021-07-01 | 香港商阿里巴巴集團服務有限公司 | 物件分配方法及裝置 |
WO2021147652A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 一种权限管理的方法及装置 |
CN113824573A (zh) * | 2020-06-18 | 2021-12-21 | 华为技术有限公司 | 一种对象管理的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787456A (zh) * | 2005-10-24 | 2006-06-14 | 南京邮电大学 | 一种基于扩展角色的五层资源访问控制方法 |
CN101645126A (zh) * | 2009-09-07 | 2010-02-10 | 浪潮集团山东通用软件有限公司 | 一种基于rbac模型扩展的面向业务的授权访问控制方法 |
CN102043931A (zh) * | 2010-01-19 | 2011-05-04 | 中国人民解放军第二军医大学东方肝胆外科医院 | 一种基于角色权限动态转换的隐私数据访问控制方法 |
CN102063596A (zh) * | 2010-12-17 | 2011-05-18 | 传神联合(北京)信息技术有限公司 | 动态评价体系及其使用方法 |
US20120079557A1 (en) * | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Deriving express rights in protected content |
-
2013
- 2013-12-12 CN CN201310683562.6A patent/CN103646218B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787456A (zh) * | 2005-10-24 | 2006-06-14 | 南京邮电大学 | 一种基于扩展角色的五层资源访问控制方法 |
CN101645126A (zh) * | 2009-09-07 | 2010-02-10 | 浪潮集团山东通用软件有限公司 | 一种基于rbac模型扩展的面向业务的授权访问控制方法 |
CN102043931A (zh) * | 2010-01-19 | 2011-05-04 | 中国人民解放军第二军医大学东方肝胆外科医院 | 一种基于角色权限动态转换的隐私数据访问控制方法 |
US20120079557A1 (en) * | 2010-09-29 | 2012-03-29 | Microsoft Corporation | Deriving express rights in protected content |
CN102063596A (zh) * | 2010-12-17 | 2011-05-18 | 传神联合(北京)信息技术有限公司 | 动态评价体系及其使用方法 |
Non-Patent Citations (1)
Title |
---|
张庆萍: "基于任务和角色的访问控制模型研究", 《计算机安全》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107111433A (zh) * | 2014-12-30 | 2017-08-29 | 三星电子株式会社 | 具有访问管理机制的电子系统及操作该电子系统的方法 |
CN107465653B (zh) * | 2016-06-02 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 权限管理系统、装置及方法、计算机可读存储介质 |
CN107465653A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 权限管理系统及方法 |
CN106056293A (zh) * | 2016-06-06 | 2016-10-26 | 浪潮通用软件有限公司 | 一种粮食收购管理系统及其配置方法 |
CN106130995A (zh) * | 2016-06-30 | 2016-11-16 | 三星电子(中国)研发中心 | 建立通信连接的方法、装置及系统 |
TWI732013B (zh) * | 2016-12-12 | 2021-07-01 | 香港商阿里巴巴集團服務有限公司 | 物件分配方法及裝置 |
CN107103417A (zh) * | 2017-04-19 | 2017-08-29 | 无锡史提沃德移动互联网科技有限公司 | 标准化多维链式预授权管理系统 |
CN107766743A (zh) * | 2017-11-09 | 2018-03-06 | 广州杰赛科技股份有限公司 | 文件访问权限的设置方法及装置、终端设备、存储介质 |
CN109033802A (zh) * | 2018-08-10 | 2018-12-18 | 武汉普利商用机器有限公司 | 未授权安卓应用获取系统权限的实现方法与装置 |
CN109033802B (zh) * | 2018-08-10 | 2020-08-28 | 武汉普利商用机器有限公司 | 未授权安卓应用获取系统权限的实现方法与装置 |
CN109388958A (zh) * | 2018-09-30 | 2019-02-26 | 四川长虹电器股份有限公司 | 一种基于切面的数据权限管理服务中间件平台方案 |
CN110941837A (zh) * | 2019-11-11 | 2020-03-31 | 北京仁科互动网络技术有限公司 | 一种基于元数据的数据权限配置方法及系统 |
CN110941837B (zh) * | 2019-11-11 | 2022-02-08 | 北京仁科互动网络技术有限公司 | 一种基于元数据的数据权限配置方法及系统 |
CN111274606A (zh) * | 2020-01-20 | 2020-06-12 | 西安百想科技有限公司 | 一种实现业务通用数据权限管理的系统及其方法 |
WO2021147652A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 一种权限管理的方法及装置 |
CN113225296A (zh) * | 2020-01-21 | 2021-08-06 | 华为技术有限公司 | 一种权限管理的方法及装置 |
CN113824573A (zh) * | 2020-06-18 | 2021-12-21 | 华为技术有限公司 | 一种对象管理的方法及装置 |
CN112632492A (zh) * | 2020-12-18 | 2021-04-09 | 杭州新中大科技股份有限公司 | 一种用于矩阵化管理的多维权限模型设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103646218B (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103646218A (zh) | 数据访问权限和行为权限的定义装置和定义方法 | |
KR102625385B1 (ko) | 동시적 바이트코드 해석을 위한 블록체인 구현 시스템 및 방법 | |
CN101410836B (zh) | 向应用提供对存储在数据库中的数据的访问的方法 | |
CN103544153B (zh) | 一种基于数据库的数据更新方法和系统 | |
CN103226539B (zh) | 针对云托管应用的服务水平目标 | |
CN102567675B (zh) | 一种业务系统下的用户权限管理方法和系统 | |
CN104317974A (zh) | 一种可重构的erp系统中多源数据导入方法 | |
CN103645919A (zh) | 一种通过插件扩展管理信息系统功能的方法 | |
US20110289514A1 (en) | Sharing and synchronization of objects | |
CN106357791A (zh) | 业务处理方法、装置及系统 | |
CN103425468A (zh) | 插件式软件集成方法及装置 | |
CN106325870A (zh) | 一种动态表单api接口的实现方法及装置 | |
CN103186661A (zh) | 声明性视图对象 | |
CN110968851A (zh) | 一种业务权限的管控方法、管控系统及计算机可读介质 | |
CN107438067A (zh) | 一种基于mesos容器云平台的多租户构建方法及系统 | |
CN100568245C (zh) | 工作流数据的持久化处理方法、装置及工作流系统 | |
KR101306173B1 (ko) | 보조금 사업 통합 관리 서버 및 방법 | |
CN104391830A (zh) | 单据页面动态布局的方法及装置 | |
CN110941422B (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
CN104636260A (zh) | 一种用于计费业务的数据管理方法及系统 | |
CN103688266B (zh) | 用于分层许可的装置和方法 | |
CN103019695A (zh) | 数据对象与状态控制逻辑分离系统和方法 | |
CN108182057A (zh) | 一种基于扩展和插件方式的软件架构设计系统 | |
CN102520971B (zh) | 基于cad软件的数据交互方法及装置 | |
CN107645388A (zh) | 一种实现电信设备入网控制的方法、客户端及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094, Beijing, Haidian District North Road, No. 68 UF Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |