The invention provides a data range control method and system. Among them, the method includes: when any attribute of the data in the data table can distinguish the data range of different users, any attribute is regarded as the first attribute; for any data in the data table, the attribute of the data used to distinguish the data range of different users is regarded as the first attribute; according to the data range of the user, Get the value of the first attribute of the user, create the user scope table, save the value of the first attribute of each user and each user to the user scope table; when the user manipulates the data in the data table, get the value of the first attribute of the user by querying the user scope table, and establish the operand according to the value of the first attribute of the user. The execution condition of the data in the data table makes the data of the operating data table in the data range of any user. The invention provides a data range control method and system, which need not be operated many times or repeatedly, and is easy to operate.
【技术实现步骤摘要】
一种数据范围控制方法和系统
本专利技术涉及计算机软件
,更具体地,涉及一种数据范围控制方法和系统。
技术介绍
在基于角色的访问控制(Role-BasedAccessControl,简称RBAC)中,权限与角色相关联,用户通过成为某种角色而得到相应的权限。这种权限仅为操作权限,但不包括该操作权限下不同范围的数据权限。为解决更小维度的数据权限问题,给用户分配相应的数据权限。用户的数据权限,为用户的数据范围。具体地,用户的数据范围,为用户能操作的数据的范围,指用户进行操作权限内的操作时,所操作数据的范围。进行数据权限,即数据范围的控制时,通过给角色增加数据范围的属性来限制用户对数据的访问和操作。在给角色增加数据范围的属性时,需要进行多次分配操作:同一个操作权限的角色需要根据不同的数据权限建立多个子角色,或者用户拥有同一个操作权限下多个数据权限时需要多次分配角色。多次分配操作造成存在操作的重复,浪费人力。此外,还需在数据库中针对数据创建表,占用较多的数据库资源。
技术实现思路
为克服现有技术存在的操作复杂的不足,本专利技术提供一种数据范围控制方法和系统。根据本专利技术的一个方面,提供一种数据范围控制方法,包括:S1、当所述数据表中的数据的任一属性能区别不同用户的数据范围时,将所述任一属性作为第一属性;对于数据表中的任意一个数据,将该数据的用于区别不同用户的数据范围的属性作为第一属性;S2、根据用户的数据范围,获取所述用户的第一属性的值,创建用户范围表,将所述每一用户和所述每一用户的第一属性的值保存到所述用户范围表中;S3、当所述用户操作数据表中的数据时,通过查询 ...
【技术保护点】
1.一种数据范围控制方法,其特征在于,包括:S1、对于所述数据表中的任意一个数据,将该数据的用于区别不同用户的数据范围的属性作为第一属性;S2、根据用户的数据范围,获取所述用户的第一属性的值,创建用户范围表,将每一用户和所述每一用户的第一属性的值保存到所述用户范围表中;S3、当所述用户操作数据表中的数据时,通过查询所述用户范围表获取所述用户的第一属性的值,根据所述用户的第一属性的值,建立所述操作数据表中的数据的执行条件,使得操作的数据表的数据均在所述任一用户的数据范围内;其中,所述数据包括多个属性,所述属性的值用于描述数据的特征;所述每一用户的第一属性的值为一个或多个。
【技术特征摘要】
1.一种数据范围控制方法,其特征在于,包括:S1、对于所述数据表中的任意一个数据,将该数据的用于区别不同用户的数据范围的属性作为第一属性;S2、根据用户的数据范围,获取所述用户的第一属性的值,创建用户范围表,将每一用户和所述每一用户的第一属性的值保存到所述用户范围表中;S3、当所述用户操作数据表中的数据时,通过查询所述用户范围表获取所述用户的第一属性的值,根据所述用户的第一属性的值,建立所述操作数据表中的数据的执行条件,使得操作的数据表的数据均在所述任一用户的数据范围内;其中,所述数据包括多个属性,所述属性的值用于描述数据的特征;所述每一用户的第一属性的值为一个或多个。2.根据权利要求1所述的数据范围控制方法,其特征在于,所述步骤S1还包括:当所述数据表中的数据的每一属性均不能区别用户的数据范围时,获取数据的第二属性,将所述第二属性作为第一属性;其中,所述第二属性与所述数据表中的数据的任一属性均不相同,且能区别不同用户的数据范围。3.根据权利要求2所述的数据范围控制方法,其特征在于,所述步骤S3之前还包括:将所述第二属性和所述第二属性的值添加到所述数据表中。4.根据权利要求1至3任一所述的数据范围的控制方法,其特征在于,所述将所述每一用户和所述每一用户的第一属性的值保存到所述用户范围表中的具体步骤包括:对于所述每一用户,根据所述每一用户的第一属性的值生成SQL条件语句,将所述每一用户和所述SQL条件语句存储在所述用户范围表中;其中,所述SQL条件语句以获取的所述第一属性全部的值为条件;所述条件用于将用户操作的数据表的数据限制在所述用户的数据范围内。5.根据权利要求4所述的数据范围控制方法,其特征在于,所述步骤S3具体包括:当任一用户操作数据表中的数据时,通过查询所述用户范围表,获取所述任一用户对应的SQL条件语句;根据所述SQL条件语句和所述操作的SQL执行语句,生成新的SQL语句,执行所述新的SQL语句,使得操作的数据表的数据均在所述任一用户的数据范围内。6.根据权利要求1至3任一所述的数据范围控制方法,所述将所述每一用户和所述每一用户...
【专利技术属性】
技术研发人员:邓园,
申请(专利权)人:链家网北京科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。