[发明专利]一种基于模块的权限控制方法及装置在审
申请号: | 202310479353.3 | 申请日: | 2023-04-28 |
公开(公告)号: | CN116595272A | 公开(公告)日: | 2023-08-15 |
发明(设计)人: | 张洺堃;安晓强;李矿;赵作家 | 申请(专利权)人: | 中国航空工业集团公司沈阳飞机设计研究所 |
主分类号: | G06F16/955 | 分类号: | G06F16/955;G06F21/31 |
代理公司: | 北京航信高科知识产权代理事务所(普通合伙) 11526 | 代理人: | 刘传准 |
地址: | 110035 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模块 权限 控制 方法 装置 | ||
本申请属于数据管理技术领域,特别涉及一种基于模块的权限控制方法及装置。该方法包括:步骤S1、获取客户端发送来的携带用户信息的token值、携带被操作数据对象的URL以及操作码;步骤S2、根据给定的用户和角色关系表确定当前用户的所有角色;步骤S3、根据给定的角色和权限关系表确定当前用户的所有权限;步骤S4、对每一个权限,根据权限模型获取该权限对应的数据集合、操作码及PURL,所述PURL为URL的前缀;步骤S5、基于所述数据集合,获取给定的数据组表达式;步骤S6、对每一个权限,依次验证操作码、PURL及数据组表达式,如果存在同时满足上述验证条件的权限,则进入对所述数据集合操作的API控制层。本申请降低了系统管理员对系统的维护的复杂度。
技术领域
本申请属于数据管理技术领域,特别涉及一种基于模块的权限控制方法及装置。
背景技术
角色权限是隐藏在一款产品背后的重要功能,可以说几乎每一个产品都需要角色权限,尤其体现在企业管理、带有流程审批的系统中,角色权限的使用则更加频繁。
现有的角色权限设计中,通常在服务器对某些数据增加权限编号,对于一个待进入系统的用户,首先判断其角色,然后判断该角色具有的指定权限,如果待进入的系统的数据所对应的权限编号归属于该指定权限下,则允许用户进入该系统以对相关数据进行操作。然而现有的数据管理系统越来越复杂,对不同数据,不同的人员的操作权限是不一样的,采用现有的单一权限的控制方式需要设计更加复杂的权限模型。
发明内容
为了解决上述问题,本申请提供了一种基于模块的权限控制方法及装置,建立实现不同角色的人员对不同数据的权限控制。
本申请第一方面提供了一种基于模块的权限控制方法,应用于服务端,主要包括:
步骤S1、获取客户端发送来的携带用户信息的token值、携带被操作数据对象的URL以及操作码;
步骤S2、根据给定的用户和角色关系表确定当前用户的所有角色;
步骤S3、根据给定的角色和权限关系表确定当前用户的所有权限;
步骤S4、对每一个权限,根据权限模型获取该权限对应的数据集合、操作码及PURL,所述PURL为URL的前缀;
步骤S5、基于所述数据集合,获取给定的数据组表达式;
步骤S6、对每一个权限,依次判断以下三个条件:
(1)客户端发送来的操作码与该权限对应的操作码是否一致;
(2)客户端发送来的URL与该权限的PURL是否一致;
(3)被操作数据对象是否满足该权限对应的数据组表达式;
如果存在同时满足上述三个条件的权限,则进入对所述数据集合操作的API控制层。
优选的是,步骤S1进一步包括:
步骤S11、判断客户端发送来的token值是否有效,如果无效,则进行登录失效响应。
优选的是,步骤S11之后进一步包括:
步骤S12、判断URL是否存在与默认放行的URL集合中,如果存在,则直接进入对所述数据集合操作的API控制层。
优选的是,步骤S6中,确定被操作数据对象是否满足该权限对应的数据组表达式包括:
步骤S61、对所述数据组表达式,基于指定的表达式分割字符串提取各个表达式及各表达式之间的逻辑关系;
步骤S62、按照客户端发送的数据对各个表达式进行匹配运算,给出匹配运算结果,所述匹配运算结果为TRUE或FALSE;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司沈阳飞机设计研究所,未经中国航空工业集团公司沈阳飞机设计研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310479353.3/2.html,转载请声明来源钻瓜专利网。