[发明专利]访问权限的验证方法和装置在审
申请号: | 202210782604.0 | 申请日: | 2022-07-05 |
公开(公告)号: | CN115168831A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 朱丽双;石强;张良虎 | 申请(专利权)人: | 京东城市(北京)数字科技有限公司 |
主分类号: | G06F21/45 | 分类号: | G06F21/45;G06F21/31 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 韩黎捷;张效荣 |
地址: | 100086 北京市海淀区知*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 权限 验证 方法 装置 | ||
1.一种访问权限的验证方法,其特征在于,包括:
获取权限验证请求,所述权限验证请求包括待访问的资源标识和参数信息;
根据所述资源标识获取资源对应的访问条件表达式,所述访问条件表达式是根据资源的权限验证配置信息生成的,所述权限验证配置信息包括待验证的参数、每个参数的验证规则,以及不同参数之间的逻辑关系;
使用表达式计算工具,根据所述参数信息对所述访问条件表达式进行计算,得到权限验证结果。
2.根据权利要求1所述的方法,其特征在于,所述参数的验证规则包括基于自定义函数实现的验证规则。
3.根据权利要求1所述的方法,其特征在于,所述不同参数之间的逻辑关系基于具有不同优先级的运算符来进行表示。
4.根据权利要求1所述的方法,其特征在于,使用表达式计算工具,根据所述参数信息对所述访问条件表达式进行计算,包括:
根据预定义的独立元素的类型,对所述访问条件表达式进行拆分得到独立元素集合;
根据所述独立元素的类型,将所述独立元素集合转换成后缀表达式;
根据所述参数信息计算所述后缀表达式以对所述访问条件表达式进行计算。
5.根据权利要求4所述的方法,其特征在于,所述独立元素的类型包括运算符、自定义函数和操作数,
根据预定义的独立元素的类型,对所述访问条件表达式进行拆分得到独立元素集合,包括:
循环读取所述访问条件表达式的每个字符,并根据预定义的独立元素的类型,判断单个字符或者字符串所属的独立元素的类型,并根据判断结果确定独立元素集合,其中,对于读取的当前字符,
若当前字符不是运算符,则将所述当前字符存储到预先建立的字符串变量中;
若当前字符是运算符,且不是左括号运算符,则判断所述当前字符与预读取的下一个字符是否组合成一个新的运算符;若是,则将所述当前字符与所述下一个字符作为一个运算符,添加到独立元素集合中,并将所述字符串变量中存储的数据作为一个独立元素添加到所述独立元素集合中;否则,将所述当前字符作为一个运算符添加到独立元素集合中,并将所述字符串变量中存储的数据作为一个独立元素添加到所述独立元素集合中;
若当前字符是左括号运算符,则判断所述字符串变量中是否存储有数据;若是,则将所述当前字符与所述字符串变量中存储的数据作为自定义函数的左半部分,并循环读取下一个字符直至读取到右括号运算符,将读取的字符作为自定义函数的右半部分,将所述自定义函数的左半部分和右半部分组合为一个自定义函数,添加到所述独立元素集合中;否则,将所述当前字符作为一个运算符添加到所述独立元素集合中;
若在循环结束时,所述字符串变量中仍存储有数据,则将所述字符串变量中存储的数据作为一个独立元素添加到所述独立元素集合中。
6.根据权利要求5所述的方法,其特征在于,根据所述独立元素的类型,将所述独立元素集合转换成后缀表达式,包括:
循环读取所述独立元素集合中的每个元素,并根据所述独立元素的类型,将读取的元素添加到后缀表达式结果集中,其中,对于读取的当前元素,
若当前元素是操作数或自定义函数,则将所述当前元素添加到后缀表达式结果集中;
若当前元素是左括号运算符,则将所述当前元素压入栈中;
若当前元素是右括号运算符,且栈顶不是左括号运算符,则将栈内元素依次出栈直至栈顶是左括号运算符,将所述栈顶的左括号运算符和所述当前元素丢弃,根据出栈顺序将所出栈的元素保存到所述后缀表达式结果集中;
若当前元素不是左括号运算符或右括号运算符,且读取所述当前元素时栈为空,则将所述当前元素压入栈中;
若当前元素不是左括号运算符或右括号运算符,且读取所述当前元素时栈不为空,则在所述当前元素的优先级高于栈顶元素的优先级的情况下,将所述当前元素压入栈中;在所述当前元素的优先级不高于栈顶元素的优先级的情况下,将栈内元素出栈直至栈顶是左括号运算符或栈为空,并根据出栈顺序将所出栈的元素保存到所述后缀表达式结果集中,将所述当前元素压入栈中;
若在循环结束时,栈不为空,则将栈内元素依次出栈直至栈为空,并根据出栈顺序将所出栈的元素保存到所述后缀表达式结果集中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东城市(北京)数字科技有限公司,未经京东城市(北京)数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210782604.0/1.html,转载请声明来源钻瓜专利网。