数据权限设置装置和数据权限设置方法

文档序号:6427387阅读:215来源:国知局
专利名称:数据权限设置装置和数据权限设置方法
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据权限设置装置和数据权限设置方法。
背景技术
计算机的普及和计算机的易操作性,让信息系统软件的使用越来越广泛,现有信息系统软件对数据权限的定义一般为基于数据项明细的设置方法或者基于组合条件的设置方法。数据项明细设置的方法的在用户数据量较大的情况下会导致权限数据存储占用空间过大、权限验证效率较低等问题;基于组合条件的设置方法压缩了权限设置的存储,相对基于数据项明细的设置方法来说较为灵活,可以实现简单的“逻辑与”、“逻辑或”、“逻辑非” 和常用比较符“大于”、“等于”、“小于”等组合条件,和一些常量做逻辑比较,在一定程度上解决了数数据项明细设置方法在数据量过大的情况下占用过大存储空间的问题,并且相对来说也较为灵活,可以按照简单的逻辑条件过滤数据,但是权限设置条件范围小,只能实现固定的一些需求,不灵活,针对某些权限设置需求需要做大量类似重复的设置,复杂多变的数据权限需求也无法实现。例如某企业要求所有销售人员登录入系统只能读取、修改本人做的销售单据,如果针对每个销售人员都设置数据过滤条件,则工作量巨大、繁琐,例如使用数据项明细的设置方法,则无法实现此需求,因为单据数据是不断新增的,权限设置无法预知新增的数据, 所以只能对已有数据做权限管控,如果使用组合条件的设置方法,可以解决此问题,但是也需要针对每个销售业务员做一个设置,工作量较大,例如对销售业务员A则需要设置“业务员=A”的条件,对销售业务员B则需要设置“业务员=B”的条件,设置的工作量和系统中需要被管控的对象的数据量成正比。除此之外,也无法实现一些复杂的权限管控需求,例如要求登录的用户只能读取和修改销售订单的销售部门为本用户对应的业务员的所属部门的单据。因此,需要一种数据权限设置技术,可以解决在信息软件使用过程中出现的关于数据权限的问题。

发明内容
本发明所要解决的技术问题在于,根据本发明的一个方面,提供一种数据权限设置装置,根据本发明的另一方面,提供一种数据权限设置方法,来解决现有信息系统软件中出现的关于数据权限的问题,本发明是通过以下技术方案实现的本发明一方面公开了一种数据权限控制装置,可以包括权限设置管理模块,用于生成业务对象的数据权限表达式;解析模块,用于将输入的业务处理逻辑解析为业务处理语句;合并模块,用于将所述数据权限表达式和所述业务处理语句进行合并,得到合并语句;解析执行模块,解析所述合并语句,并在数据库中执行解析后的所述合并语句以控制所述数据权限。
在上述技术方案中,优选地,所述权限设置管理模块根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式;所述合并模块按照合并规则对同一个所述业务对象的多个所述数据权限表达式进行合并。在上述技术方案中,优选地,所述业务对象属性为树状组织结构,所述数据权限表达式还可以包括连接符和/或比较符。在上述技术方案中,优选地,还可以包括存储器,用于存储生成的所述业务对象的数据权限表达式。在上述技术方案中,优选地,所述业务处理逻辑可以包括查询、修改、删除和/或增加。利用本发明的数据权限控制装置可以灵活实现复杂的数据权限控制,简化权限的设置。另一方面,本发明还公开了一种数据权限控制方法,可以包括步骤402,生成业务对象的数据权限表达式;步骤404,将输入的业务处理逻辑解析为业务处理语句;步骤 406,将所述数据权限表达式和所述业务处理语句进行合并,得到合并语句;步骤408,解析所述合并语句,并在数据库中执行解析后的所述合并语句以控制所述数据权限。在上述技术方案中,优选地,所述步骤402还可以包括根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式,对同一个所述业务对象的多个所述数据权限表达式进行合并。在上述技术方案中,优选地,所述业务对象属性为树状组织结构,所述数据权限表达式还可以包括连接符和/或比较符。在上述技术方案中,优选地,所述步骤402还可以包括存储生成的所述业务对象的数据权限表达式。在上述技术方案中,优选地,所述业务处理逻辑可以包括查询、修改、删除和/或增加。利用本发明的数据权限控制方法可以灵活实现复杂的数据权限控制,简化权限的设置。


图1示出了根据本发明实施例的数据权限控制装置的示意图;图2示出了根据本发明另一实施例的数据权限控制装置的工作原理示意3示出了根据本发明实施例的数据权限表达式的生成示意图;图4示出了根据本发明实施例的数据权限控制方法的流程图;图5示出了根据本发明又一实施例的数据权限控制方法的流程图;图6示出了根据本发明实施例的数据权限表达式的设置示意图;图7示出了根据本发明实施例的在数据权限表达式的设置后返回的结果示意图;图8示出了根据本发明实施例的使用数据权限控制装置读取单据的结果示意图; 以及图9示出了根据本发明实施例的使用数据权限控制装置读取单据的结果示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。如图1所示,本发明一方面公开了一种数据权限控制装置100,可以包括权限设置管理模块102,用于生成业务对象的数据权限表达式;解析模块104,用于将输入的业务处理逻辑解析为业务处理语句;合并模块106,用于将所述数据权限表达式和所述业务处理语句按合并规则进行合并;解析执行模块108,解析所述合并语句,并在数据库中执行解析后的所述合并语句以控制所述数据权限。这样,可以将业务对象的数据权限与实际业务处理逻辑进行结合,得到符合要求的数据权限,针对不同的平台可以将符合要求的数据权限进行解析,解析成可以在对应的平台数据库进行执行的语句。在上述技术方案中,优选地,所述权限设置管理模块102根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式;所述合并模块按照合并规则对同一个所述业务对象的多个所述数据权限表达式进行合并。图3示出了根据本发明实施例的数据权限表达式的生成示意图,如图3所示,在权限设置管理模块 102,用户根据业务对象树属性和自定义函数、权限表达式语法规则设置符合该业务对象语法的表达式并进行存储,以备在后期运行供合并模块106使用,其中,业务对象属性组织为树状,便于用户点击设置表达式,更加灵活方便,配合自定义函数和常用逻辑连接符、比较符等,实现灵活的数据权限定义条件,这样就极大的提高了数据权限定义的灵活性以及可扩展性。在上述技术方案中,优选地,所述业务对象属性为树状组织结构,所述数据权限表达式还包括连接符和/或比较符。例如图6所示的树状设置界面,对销售订单设置读取条件为登录人只能读取自己制作的单据,设置的结果如图7所示,实现灵活的数据权限定义条件。将权限应用到部分用户后,用户登录销售订单节点只能读取自己制作的单据如图8 所示,demo用户登录查看销售订单,只能读取创建人是demo的单据,又例如图9所示,demol 用户登录查看销售订单,只能读取创建人是demol的单据。在上述技术方案中,优选地,还可以包括存储器110,用于存储生成的所述业务对象的数据权限表达式。在上述技术方案中,优选地,所述业务处理逻辑可以包括查询、修改、删除和/或增加。利用本发明的数据权限控制装置可以灵活实现复杂的数据权限控制,简化权限的设置。图2示出了根据本发明实施例的另一数据权限装置的工作原理示意图。如图2所示,本发明的实施例的数据权限装置可以包括权限设置管理模块202 (例如图1中的权限设置管理模块102)、解析模块204(例如图1中的解析模块104)、合并模块206 (例如图1中的合并模块106)以及解析执行模块208 (例如图1中的解析执行模块 108)。首先,权限设置管理模块202可以用于用户设置业务对象的数据权限,生成业务对象的数据权限表达式,将设置的该业务对象的数据权限表达式存储到数据库中,以便在权限验证阶段使用,达到数据权限管控。如果针对同一业务对象有多个数据权限表达式,那么合并模块206可以按照合并规则将该多个数据权限表达式进行合并,得到最终的针对该业务对象的数据权限表达式。用户在信息系统中进行业务处理,解析模块204接收用户的操作,将用户的操作逻辑例如查询、修改、删除单据等动作解析为数据操作语句(业务处理语句)。合并模块206将用户在权限设置管理模块预设的数据权限表达式和解析模块204解析的业务处理语句进行合并,供权限验证阶段使用。解析执行模块208将合并模块206合并的语句进行解析,即负责在运行期间将面向对象的权限表达式解析为可在数据库上执行的语句,最终实现数据权限的管控。下面结合图4和图5来说明本发明的实施例的数据权限设置方法。如图4所示,根据本发明的实施例的数据权限控制方法可以包括步骤402,生成业务对象的数据权限表达式;步骤404,将输入的业务处理逻辑解析为业务处理语句;步骤 406,将所述数据权限表达式和所述业务处理语句进行合并,得到合并语句;步骤408,解析所述合并语句,并在数据库中执行解析的所述合并语句以控制所述数据权限。这样,可以将业务对象的数据权限与实际业务处理逻辑进行结合,得到符合要求的数据权限,针对不同的平台可以将符合要求的数据权限进行解析,解析成可以在对应的平台数据库进行执行的语句。在上述技术方案中,优选地,所述步骤402还可以包括根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式,对同一个所述业务对象的多个所述数据权限表达式进行合并。在上述技术方案中,优选地,所述业务对象属性为树状组织结构,这样的设置便于用户点击设置表达式,更加方便灵活;另外所述数据权限表达式还包括连接符和/或比较符,使得权限定义更加灵活,可扩展性得到提高。在上述技术方案中,优选地,所述步骤402还包括存储生成的所述业务对象的数据权限表达式,用于以后权限的验证以及与业务处理语句合并。在上述技术方案中,优选地,所述业务处理逻辑包括查询、修改、删除和/或增加, 增加了业务处理的可操作性。通过上述技术方案,可以高度抽象数据权限的条件,实现用户复杂的数据权限设
直需求。如图5所示,首先预设业务对象的数据权限表达式,如果针对同一个业务对象具有多个数据权限表达式,那么将该对个数据权限表达式进行合并,并进行存储供后续使用。在步骤502,用户在信息系统中进行业务处理,例如进行查询、修改、删除等动作。在步骤504,将用户处理业务的动作转化为数据操作语句。在步骤506,将预设的业务对象的数据权限表达式与数据操作语句进行合并。在步骤508,解析合并后的语句,适合在对应的操作系统中执行该解析后的合并语句,达到数据权限管控的目的。利用本发明的数据权限控制装置和方法可以灵活实现复杂的数据权限控制,简化权限的设置。如图6所示,左边的树型结果如销售订单以及下面的子目录为业务对象,用户可以在该界面设置权限,例如图6中设置了业务对象为创建人的数据权限表达式,还有一些逻辑符运、算符等供用户选择。图7则根据设置的数据权限返回处理结果。根据设置的数据权限,结合用户的业务操作可以得到符合各方面要求的数据权值,如在图7的数据权限设置后,假如用户要登录销售订单进行操作查看时,用户只能读取自己制作的单据。如图 8所示,用户demo只能读取其制作的单据,而如图9所示,用户demol只能读取其制作的单据。以上结合附图对根据本发明的实施例的技术方案进行了详细的说明,本发明提供了一种全新的数据权限控制装置和方法,其简便了权限的设置,高度抽象了数据权限的条件,实现了客户复杂的数据权限设置需求。一方面,使用业务对象树和表达式的权限设置方式,高度抽象了权限条件,使权限条件可复用,简化了权限的设置,减少了数据权限设置的工作量,根据信息系统软件运行信息实现权限的动态验证,使权限更加灵活、可扩展,实现软件运行期间,客户对数据权限管控的高度变化、高度复杂的需求,而无需对软件再做任何修改,增加了软件数据权限应对需求变化的可扩展性;另一方面,使软件系统中数据权限的验证和业务逻辑的开发相分离,业务逻辑的开发无需考虑权限的问题,降低了业务逻辑开发和权限验证的耦合度,业务逻辑开发人员无需考虑权限问题,简化了开发过程和难度。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据权限控制装置,其特征在于,包括权限设置管理模块,用于生成业务对象的数据权限表达式;解析模块,用于将输入的业务处理逻辑解析为业务处理语句;合并模块,用于将所述数据权限表达式和所述业务处理语句进行合并,得到合并语句;解析执行模块,用于解析所述合并语句,在数据库中执行解析后的所述合并语句以控制所述数据权限。
2.根据权利要求1所述的数据权限控制装置,其特征在于,所述权限设置管理模块根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式;所述合并模块按照合并规则对同一个所述业务对象的多个所述数据权限表达式进行口井O
3.根据权利要求2所述的数据权限控制装置,其特征在于,所述业务对象属性为树状组织结构,所述数据权限表达式还包括连接符和/或比较符。
4.根据权利要求1所述的数据权限控制装置,其特征在于,还包括存储器,用于存储生成的所述业务对象的数据权限表达式。
5.根据权利要求1至4中任一项所述的数据权限控制装置,其特征在于,所述业务处理逻辑包括查询、修改、删除和/或增加。
6.一种数据权限控制方法,其特征在于,包括 步骤402,生成业务对象的数据权限表达式;步骤404,将输入的业务处理逻辑解析为业务处理语句;步骤406,将所述数据权限表达式和所述业务处理语句进行合并,得4到合并语句; 步骤408,解析所述合并语句,并在数据库中执行解析后的所述合并语句以控制所述数据权限。
7.根据权利要求6所述的数据权限控制方法,其特征在于,所述步骤402还包括根据权限表达式语法规则、定义的业务对象属性和自定义函数生成所述业务对象的数据权限表达式,对同一个所述业务对象的多个所述数据权限表达式进行合并。
8.根据权利要求7所述的数据权限控制方法,其特征在于,所述业务对象属性为树状组织结构,所述数据权限表达式还包括连接符和/或比较符。
9.根据权利要求6所述的数据权限控制方法,其特征在于,所述步骤402还包括存储生成的所述业务对象的数据权限表达式。
10.根据权利要求6至9中任一项所述的数据权限控制方法,其特征在于,所述业务处理逻辑包括查询、修改、删除和/或增加。
全文摘要
本发明提供了一种数据权限控制装置,包括权限设置管理模块,用于生成业务对象的数据权限表达式;解析模块,用于将输入的业务处理逻辑解析为业务处理语句;合并模块,用于将所述数据权限表达式和所述业务处理语句进行合并,得到合并语句;解析执行模块,用于解析并在数据库中执行解析后的所述合并语句以控制所述数据权限。本发明还提供了一种数据权限控制方法。本发明高度抽象软件用户对数据权限管控的复杂需求,简化数据权限的设置,把软件系统对数据权限的设置、验证权限、业务逻辑开发完全分离,使数据权限的设置更加灵活,使用动态的权限表达式,提高数据权限的灵活性、可扩展性,并降低了权限和业务开发的耦合。
文档编号G06F21/00GK102222193SQ20111017724
公开日2011年10月19日 申请日期2011年6月28日 优先权日2011年6月28日
发明者焦剑 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1