CN114282187A - 登录访问控制方法及装置 - Google Patents
登录访问控制方法及装置 Download PDFInfo
- Publication number
- CN114282187A CN114282187A CN202111583991.7A CN202111583991A CN114282187A CN 114282187 A CN114282187 A CN 114282187A CN 202111583991 A CN202111583991 A CN 202111583991A CN 114282187 A CN114282187 A CN 114282187A
- Authority
- CN
- China
- Prior art keywords
- field
- access control
- query condition
- login
- attribute
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种登录访问控制方法及装置,涉及自动程序设计技术领域,该方法包括:获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;根据字段对应当前登录人属性获取对应的属性值;根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;基于查询条件执行查询,获得登录访问控制所需的数据。本发明可以实现在查询接口中零代码控制当前登录人数据行级查询权限,极大提升查询接口行级数据权限控制的开发效率和降低由于行级数据权限控制导致BUG出现的概率。
Description
技术领域
本发明涉及自动程序设计技术领域,尤其涉及登录访问控制方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
后端在开发查询类接口时,为避免当前登录人查询到权限范围外的数据导致数据泄露(例如只允许查询到本人工资信息),需要通过硬编码的方式根据当前登录人的所属角色、所属机构、所属职位、员工编号等信息等信息过滤非权限内数据,导致代码冗余及代码可读性下降。且此类判断属于机械性、重复性工作较多且容易出错。
发明内容
本发明实施例提供一种登录访问控制方法,用以解决现有通过硬编码的方式根据当前登录人的所属角色、所属机构、所属职位、员工编号等信息等信息过滤非权限内数据,导致代码冗余及代码可读性下降。且此类判断属于机械性、重复性工作较多且容易出错的技术问题,该方法包括:
获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值;
根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
基于查询条件执行查询,获得登录访问控制所需的数据。
在一个实施例中,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
在一个实施例中,所述匹配规则包括并不限于:相等、不相等、左字符串匹配、右字符串匹配、模糊匹配、非左字符串匹配、非右字符串匹配、非模糊匹配、大于、大于等于、小于、小于等于。
在一个实施例中,所述查询条件字段包括多个,构成字段集;
解析所述查询条件字段,包括:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值,包括:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
在一个实施例中,还包括:
对登录访问控制所需的数据进行缓存。
在一个实施例中,还包括:将登录访问控制所需的数据进行显示。
本发明实施例还提供一种登录访问控制装置,用以解决现有通过硬编码的方式根据当前登录人的所属角色、所属机构、所属职位、员工编号等信息等信息过滤非权限内数据,导致代码冗余及代码可读性下降。且此类判断属于机械性、重复性工作较多且容易出错的技术问题,该装置包括:
查询条件字段获取模块,用于获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
查询条件字段解析模块,用于解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
属性值获取模块,用于根据字段对应当前登录人属性获取对应的属性值;
查询条件拼接模块,用于根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
查询模块,用于基于查询条件执行查询,获得登录访问控制所需的数据。
在一个实施例中,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
在一个实施例中,所述匹配规则包括并不限于:相等、左字符串匹配或右字符串匹配。
在一个实施例中,所述查询条件字段包括多个,构成字段集;
查询条件字段解析模块用于:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
属性值获取模块用于:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
在一个实施例中,还包括:
缓存数据库,用于对登录访问控制所需的数据进行缓存。
在一个实施例中,还包括:显示模块,用于将登录访问控制所需的数据进行显示。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述登录访问控制方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述登录访问控制方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述登录访问控制方法。
本发明实施例中,与现有技术中通过硬编码的方式根据当前登录人的所属角色、所属机构、所属职位、员工编号等信息等信息过滤非权限内数据的技术方案相比,获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;根据字段对应当前登录人属性获取对应的属性值;根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;基于查询条件执行查询,获得登录访问控制所需的数据。本发明可以实现在查询接口中零代码控制当前登录人数据行级查询权限,极大提升查询接口行级数据权限控制的开发效率和降低由于行级数据权限控制导致BUG出现的概率;避免了在每个查询接口中都需要将相同的行级查询权限控制代码重复编写,在降低冗余代码的同时实现了代码复用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中登录访问控制方法流程图一;
图2为本发明实施例中登录访问控制方法流程图二;
图3为本发明实施例中登录访问控制方法流程图三;
图4为本发明实施例中登录访问控制方法流程图四;
图5为本发明实施例中登录访问控制装置结构框图一;
图6为本发明实施例中登录访问控制装置结构框图二;
图7为本发明实施例中登录访问控制装置结构框图三;
图8为本发明实施例中计算机设备结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
术语解释:
当前登录人信息:用户登录系统后执行各类操作时,针对系统而言的操作用户信息,包括但不限于所属角色、所属机构、所属职位等信息;
行级数据访问控制:针对数据表中的每行数据提供查询权限控制,必须有该行数据的查询权限,该行数据才允许被查询到。
图1为本发明实施例中登录访问控制方法流程图一,如图1所示,该方法包括:
步骤101:获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
步骤102:解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
步骤103:根据字段对应当前登录人属性获取对应的属性值;
步骤104:根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
步骤105:基于查询条件执行查询,获得登录访问控制所需的数据。
具体的,该方法的前提是用户已经登录,用户的所有信息(例如所属角色、所属机构、所属职位、员工编号)可以直接获得。并且用户已经发出查询请求,该方法从查询接口获得该查询请求,基于该查询请求进行相应的数据查询,获得用户权限范围内的数据。
具体的,注解定义:针对查询类接口非空字段判断定义对应注解,例如@QueryRange。注解的作用域为字段,注解的字段包括:
1)rangeType(字段类型为String,字符串),用于标识该字段需要关联当前登录人的对应属性值(例如所属角色、所属机构、所属职位、员工编号);
所属角色相当于Windows操作系统中的用户组,将用户分配不同角色,根据所属角色控制用户对应用程序的不同资源进行访问。
所属机构,比如,可以是业务部门、财务部门、运营部门、后勤部门、销售部门等等。
所属职位,比如,可以是职员、部门经理、总经理、总裁等等;
员工编号,即员工的身份标识。
2)matchRules(字段类型为String,字符串),用于标识匹配规则。匹配规则包括eq(相等)、ne(不相等)、ll(左字符串匹配)、rl(右字符串匹配)、al(模糊匹配)、nll(非左字符串匹配)、nrl(非右字符串匹配)、nal(非模糊匹配)、gt(大于)、ge(大于等于)、lt(小于)、le(小于等于)等等。
代码示例如下:
查询接口执行时,底层BaseService先对传入的查询条件进行权限验证。
在本发明实施例中,如图2所示,所述查询条件字段包括多个,构成字段集;
步骤102解析所述查询条件字段,包括:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
步骤103根据字段对应当前登录人属性获取对应的属性值,包括:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
在本发明实施例中,步骤102,字段添加注解:在实体对应的查询条件类中针对查询条件字段设置权限注解及该字段对应当前登录人属性与匹配规则。
例如:
@QueryRange(rangeType=“userNo”,matchRules=”eq”);
@QueryRange(rangeType=“userNo”,matchRules=”ne”);
@QueryRange(rangeType=“userNo”,matchRules=”ge”);
@QueryRange(rangeType=“userNo”,matchRules=”gt”);
@QueryRange(rangeType=“userNo”,matchRules=”le”);
@QueryRange(rangeType=“userNo”,matchRules=”lt”);
@QueryRange(rangeType=“userNo”,matchRules=”ll”);
@QueryRange(rangeType=“userNo”,matchRules=”rl”)。
@QueryRange(rangeType=“userNo”,matchRules=”al”)。
@QueryRange(rangeType=“userNo”,matchRules=”nll”);
@QueryRange(rangeType=“userNo”,matchRules=”nrl”)。
@QueryRange(rangeType=“userNo”,matchRules=”nal”)。
在本发明实施例中,步骤103,根据字段对应当前登录人属性获取对应的属性值。具体的,当前登录人的属性值可以存储在对应的数据库中,当确定了字段对应当前登录人属性时,就可以确定要获取的是什么属性值。
比如,当字段对应当前登录人属性为所属角色时,基于所属角色从用户的相关信息数据库(或者数据表中)获取对应所属角色的具体文字。
当字段对应当前登录人属性为所属机构时,基于所属机构从用户的相关信息数据库(或者数据表中)获取该用户的机构名称,比如业务部门、财务部门、运营部门、后勤部门、销售部门等等。
当字段对应当前登录人属性为所属职位时,基于所属职位从用户的相关信息数据库(或者数据表中)获取该用户的职位名称,比如职员、部门经理、总经理、总裁等等。
当字段对应当前登录人属性为员工编号时,基于所属职位从用户的相关信息数据库(或者数据表中)获取该用户的编号值,比如,1001,10011,a1011,等等数值。
在本发明实施例中,如图2所示,步骤104根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件,例如:
@QueryRange(rangeType=“userNo”,matchRules=”eq”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo=1001。这样步骤105执行查询后获得的就是classUserNo=1001这个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”ne”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo!=1001,即在登录名字符串中匹配不等于1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo!=1001多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”ge”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo>=1001,即在登录名字符串中匹配大于等于1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo>=1001多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”gt”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo>1001,即在登录名字符串中匹配大于等于1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo>1001多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”le”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo<=1001,即在登录名字符串中匹配小于等于1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo<=1001多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”lt”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo<1001,即在登录名字符串中匹配小于1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo<1001多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”ll”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo like‘1001%’,即在登录名字符串中从左边匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo like‘1001%’多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”rl”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo like‘%1001’,即在登录名字符串中从右边匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo like‘%1001’多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”rl”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo like‘%1001%’,即在登录名字符串中模糊匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo like‘%1001%’多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”nll”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo not like‘1001%’,即在登录名字符串中从左边不匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo like‘1001%’多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”nrl”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo like‘%1001’,即在登录名字符串中从右边不匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo not like‘%1001’多个用户权限范围内的数据。
@QueryRange(rangeType=“userNo”,matchRules=”nal”)String classUserNo,如果当前登录人的UserNo=1001,拼接后的查询条件为classUserNo like‘%1001%’,即在登录名字符串中不符合模糊匹配包括有1001的多个登录名。这样步骤105执行查询后获得的就是classUserNo not like‘%1001%’多个用户权限范围内的数据。
在本发明实施例中,如图3所示,该方法还包括:
步骤301:对登录访问控制所需的数据进行缓存。
具体的,数据缓存(Data Caching)就是将数据暂存于内存缓存区中的一种技术。指在硬盘内部的高速存储器,在电脑中就象一块缓冲器一样将一些数据暂时性的保存起来以供读取和再读取。对于大数据缓存的硬盘在存取零散文件时具有很大的优势。
通常情况下,大量数据是保存在数据库中的,而应用程序访问数据库是一项很费时的操作。如果先将数据库中的数据缓存到缓存区中,当应用程序需要这些数据时,直接从缓存区中提取,就可以减少系统开销。
在本发明实施例中,如图4所示,该方法还包括:
步骤401:将登录访问控制所需的数据进行显示。
具体的,可以将获取的数据进行分条显示,也可以是整理成一个文件进行显示。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
本发明实施例中还提供了一种登录访问控制装置,如下面的实施例所述。由于该装置解决问题的原理与登录访问控制方法相似,因此该装置的实施可以参见登录访问控制方法的实施,重复之处不再赘述。
图5为本发明实施例中登录访问控制装置结构框图一,如图5所示,该装置包括:
查询条件字段获取模块02,用于获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
查询条件字段解析模块04,用于解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
属性值获取模块06,用于根据字段对应当前登录人属性获取对应的属性值;
查询条件拼接模块08,用于根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
查询模块10,用于基于查询条件执行查询,获得登录访问控制所需的数据。
在本发明实施例中,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
在本发明实施例中,所述匹配规则包括并不限于:相等、不相等、左字符串匹配、右字符串匹配、模糊匹配、非左字符串匹配、非右字符串匹配、非模糊匹配、大于、大于等于、小于、小于等于。
在本发明实施例中,所述查询条件字段包括多个,构成字段集;
查询条件字段解析模块用于:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
属性值获取模块用于:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
在本发明实施例中,如图6所示,还包括:
缓存数据库12,用于对登录访问控制所需的数据进行缓存。
在本发明实施例中,如图7所示,还包括:
显示模块14,用于将登录访问控制所需的数据进行显示。
本发明实施例还提供一种计算机设备,该计算机设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该计算机设备可以参照上述登录访问控制方法的实施及上述登录访问控制装置,其内容被合并于此,重复之处不再赘述。
图8为本发明实施例的计算机设备800的构成示意框图。如图8所示,该计算机设备800可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,登录访问控制功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值;
根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
基于查询条件执行查询,获得登录访问控制所需的数据。
其中,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
其中,所述匹配规则包括并不限于:相等、不相等、左字符串匹配、右字符串匹配、模糊匹配、非左字符串匹配、非右字符串匹配、非模糊匹配、大于、大于等于、小于、小于等于。
其中,所述查询条件字段包括多个,构成字段集;
解析所述查询条件字段,包括:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值,包括:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
其中,还包括:
对登录访问控制所需的数据进行缓存。
其中,还包括:
将登录访问控制所需的数据进行显示。
在另一个实施方式中,登录访问控制可以与中央处理器100分开配置,例如可以将登录访问控制配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现登录访问控制功能。
如图8所示,该计算机设备800还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,计算机设备800也并不是必须要包括图8中所示的所有部件;此外,计算机设备800还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制计算机设备800的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向计算机设备800提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行计算机设备800的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由计算机设备使用的数据。存储器140的驱动程序存储部144可以包括计算机设备的用于通信功能和/或用于执行计算机设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一计算机设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述登录访问控制方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述登录访问控制方法。
本发明实施例中,与现有技术中通过硬编码的方式根据当前登录人的所属角色、所属机构、所属职位、员工编号等信息等信息过滤非权限内数据的技术方案相比,获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;根据字段对应当前登录人属性获取对应的属性值;根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;基于查询条件执行查询,获得登录访问控制所需的数据。本发明可以实现在查询接口中零代码控制当前登录人数据行级查询权限,极大提升查询接口行级数据权限控制的开发效率和降低由于行级数据权限控制导致BUG出现的概率;由于查询条件类能够被多个查询接口复用,避免了在每个查询接口中都需要将相同的行级查询权限控制代码重复编写,在降低冗余代码的同时实现了代码复用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种登录访问控制方法,其特征在于,包括:
获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值;
根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
基于查询条件执行查询,获得登录访问控制所需的数据。
2.如权利要求1所述的登录访问控制方法,其特征在于,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
3.如权利要求1所述的登录访问控制方法,其特征在于,所述匹配规则包括并不限于:相等、不相等、左字符串匹配、右字符串匹配、模糊匹配、非左字符串匹配、非右字符串匹配、非模糊匹配、大于、大于等于、小于、小于等于。
4.如权利要求1所述的登录访问控制方法,其特征在于,所述查询条件字段包括多个,构成字段集;
解析所述查询条件字段,包括:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
根据字段对应当前登录人属性获取对应的属性值,包括:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
5.如权利要求1所述的登录访问控制方法,其特征在于,还包括:
对登录访问控制所需的数据进行缓存。
6.如权利要求1所述的登录访问控制方法,其特征在于,还包括:
将登录访问控制所需的数据进行显示。
7.一种登录访问控制装置,其特征在于,包括:
查询条件字段获取模块,用于获取查询条件字段,所述查询条件字段设置有行级查询权限注解,所述行级查询权限注解包括字段对应当前登录人属性与匹配规则;
查询条件字段解析模块,用于解析所述查询条件字段,获得字段对应当前登录人属性与匹配规则;
属性值获取模块,用于根据字段对应当前登录人属性获取对应的属性值;
查询条件拼接模块,用于根据匹配规则,将字段对应当前登录人属性与对应的属性值拼接为查询条件;
查询模块,用于基于查询条件执行查询,获得登录访问控制所需的数据。
8.如权利要求7所述的登录访问控制装置,其特征在于,所述当前登录人属性包括并不限于:当前登录人的所属角色、所属机构、所属职位或员工编号。
9.如权利要求7所述的登录访问控制装置,其特征在于,所述匹配规则包括并不限于:相等、不相等、左字符串匹配、右字符串匹配、模糊匹配、非左字符串匹配、非右字符串匹配、非模糊匹配、大于、大于等于、小于、小于等于。
10.如权利要求7所述的登录访问控制装置,其特征在于,所述查询条件字段包括多个,构成字段集;
查询条件字段解析模块用于:
依次解析字段集的每个查询条件字段,获得字段对应的当前登录人属性与匹配规则;
属性值获取模块用于:
循环处理字段集中的每个查询条件字段,基于每个字段对应当前登录人属性获取对应的属性值。
11.如权利要求7所述的登录访问控制装置,其特征在于,还包括:
缓存数据库,用于对登录访问控制所需的数据进行缓存。
12.如权利要求7所述的登录访问控制装置,其特征在于,还包括:显示模块,用于将登录访问控制所需的数据进行显示。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述登录访问控制方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述登录访问控制方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述登录访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583991.7A CN114282187A (zh) | 2021-12-22 | 2021-12-22 | 登录访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583991.7A CN114282187A (zh) | 2021-12-22 | 2021-12-22 | 登录访问控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282187A true CN114282187A (zh) | 2022-04-05 |
Family
ID=80874009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111583991.7A Pending CN114282187A (zh) | 2021-12-22 | 2021-12-22 | 登录访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114282187A (zh) |
-
2021
- 2021-12-22 CN CN202111583991.7A patent/CN114282187A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103810212A (zh) | 一种数据库索引的自动创建方法及系统 | |
CN111951101B (zh) | 数据核对方法及装置 | |
US9229971B2 (en) | Matching data based on numeric difference | |
CN107741935B (zh) | 数据导入方法及数据导入装置 | |
CN108153716B (zh) | 表单处理方法、装置、存储介质及电子设备 | |
US20120158742A1 (en) | Managing documents using weighted prevalence data for statements | |
US20160162525A1 (en) | Storing a Key Value to a Deleted Row Based On Key Range Density | |
CN111061740B (zh) | 一种数据同步方法、设备和存储介质 | |
CN112149419B (zh) | 字段的规范化自动命名方法、装置及系统 | |
US20240037973A1 (en) | Pseudo labelling for key-value extraction from documents | |
CN111694866A (zh) | 数据搜索及存储方法、数据搜索系统、装置、设备及介质 | |
US20200110838A1 (en) | Intelligent visualization of unstructed data in column-oriented data tables | |
CN110647423B (zh) | 一种基于应用创建存储卷镜像的方法、设备及可读介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
US8612451B1 (en) | Searching for data structures | |
US8381112B2 (en) | Data management tool | |
CN112039975A (zh) | 一种报文字段的处理方法、装置、设备及存储介质 | |
CN112162982A (zh) | 数据查询方法、装置、设备及介质 | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN113741864B (zh) | 基于自然语言处理的语义化服务接口自动设计方法与系统 | |
CN114282187A (zh) | 登录访问控制方法及装置 | |
CN108629003B (zh) | 内容加载方法与装置 | |
CN111161047A (zh) | 银行业务数据处理、查询方法及装置 | |
US20180074867A1 (en) | Provide copy of notebook document | |
KR20070097660A (ko) | 이동통신 단말기에서 에스큐엘을 이용한 멀티미디어 파일관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |