用于WEB服务的细粒度动态权限控制方法和系统技术方案

技术编号:36703207 阅读:27 留言:0更新日期:2023-03-01 09:21
本发明专利技术提供了一种用于WEB服务的细粒度动态权限控制方法和系统,包括:步骤1:将WEB后台服务中的所有对外服务接口进行识别,并通过持久化技术对现有WEB对外接口信息进行持久化;步骤2:基于持久化的接口信息,结合不同人员的职能进行细粒度的统一配置,并再次持久化,并支持根据业务需求变化及时调整权限控制;步骤3:利用已经持久化的权限配置,结合WEB服务中拦截器技术,根据用户的身份以及其对应的权限进行访问权限控制。本发明专利技术通过对后台服务外部接口的统一持久化,以及基于持久化接口权限规则,提升了WEB后台服务系统权限控制的便捷性。提升了WEB后台服务系统权限控制的便捷性。提升了WEB后台服务系统权限控制的便捷性。

【技术实现步骤摘要】
用于WEB服务的细粒度动态权限控制方法和系统


[0001]本专利技术涉及WEB服务后台系统权限控制
,具体地,涉及一种用于WEB服务的细粒度动态权限控制方法和系统。

技术介绍

[0002]WEB服务后台系统作为WEB服务核心,不仅提供了WEB业务服务,同时还要注重WEB服务的访问的安全控制,目前主流权限控制皆通过拦截器配合注解模式实现权限的访问控制,使得权限控制粒度在编码之初就被完全固定,然而随着系统的运行以及使用人员的结构以及职责分工的复杂变化,访问权限的控制却需要不同程度的进行调整变更。
[0003]专利文献CN114021186A(申请号:CN202111282678.X)公开了一种基于运行时HOOK的WEB系统行列细粒度访问控制方法,实现相同角色不同用户执行相同的SQL语句,随配置标签属性变化而具备不同的访问权限,从数据行、数据列两维度动态完成数据的最小权限原则落地,进面获取符合既定安全策略的数据集,避免数据越权导致数据泄露。
[0004]然而基于编码层面的权限控制,需要重新对系统的源代码进行编码重新设计编译等来适应这种变化。因此,为了简化人员的不必要的工作同时提高系统的灵活性能,提出了一种基于用户WEB服务细粒度动态权限控制方法,能够满足不修改WEB服务源代码情况下快速实现对权限控制的细粒度按需调整。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种用于WEB服务的细粒度动态权限控制方法和系统。
[0006]根据本专利技术提供的用于WEB服务的细粒度动态权限控制方法,包括:
[0007]步骤1:将WEB后台服务中的所有对外服务接口进行识别,并通过持久化技术对现有WEB对外接口信息进行持久化;
[0008]步骤2:基于持久化的接口信息,结合不同人员的职能进行细粒度的统一配置,并再次持久化,并支持根据业务需求变化及时调整权限控制;
[0009]步骤3:利用已经持久化的权限配置,结合WEB服务中拦截器技术,根据用户的身份以及其对应的权限进行访问权限控制。
[0010]优选的,所述步骤1包括:
[0011]步骤1.1:在WEB后台服务工程中创建一个监听器,负责监听容器启动;
[0012]步骤1.2:监听到容器启动后,通过应用前后关系Application Context获取当前上下文容器;
[0013]步骤1.3:从上下文容器中获取加载过程Request Mapping Handler Mapping,并从中获取到所有程序处理方式Handler Method;
[0014]步骤1.4:解析Handler Method并获取所有的对外接口地址,同时根据Handler Method获取特定方式Method是否存在对应权限注解,若对应Handler Method存在对应权限
注解,则连同接口对外地址一同进行持久化处理。
[0015]优选的,所述步骤2包括:
[0016]步骤2.1:根据访问用户的身份需求对控制权限进行设计;
[0017]步骤2.2:根据持久化数据进行维护,包括新增、修改、删除;
[0018]步骤2.3:在权限统一配置同时完成持久化操作,然后进行拦截器权限规则访问控制更新,更新模式包括热更新模式和冷更新模式,热更新模式情况下,需要配合消息中间件推送给对应后台服务进行获取新权限方案;冷更新模式情况下,需要重新启动服务。
[0019]优选的,所述新增包括:对新访问控制进行新增,包括维护权限编码以及对应接口访问地址;
[0020]所述修改包括:对已存在的访问权限码对应可访问接口访问地址进行修改,对于从注解中获取的权限编码以及接口访问地址对应关系不进行修改;
[0021]所述删除包括:对所有持久化的权限编码对应关系进行维护,对通过注解持久化的权限编码对应关系进行软删除,对自定义新增的权限编码对应关系直接进行物理删除。
[0022]优选的,所述步骤3包括:
[0023]步骤3.1:在容器启动并完成统一化接口权限识别持久化后,重新加载新的权限控制规则,服务启动后加载完成即位生效的权限控制规则;
[0024]步骤3.2:通过拦截器获取并解析用户携带的授权信息,并对用户携带的授权信息进行匹配,若匹配成功则放行,否则拒绝提供服务;
[0025]步骤3.3:若服务运行过程中接收到中间件的新规则,则立即更新当前服务的权限控制规则。
[0026]根据本专利技术提供的用于WEB服务的细粒度动态权限控制系统,包括:
[0027]模块M1:将WEB后台服务中的所有对外服务接口进行识别,并通过持久化技术对现有WEB对外接口信息进行持久化;
[0028]模块M2:基于持久化的接口信息,结合不同人员的职能进行细粒度的统一配置,并再次持久化,并支持根据业务需求变化及时调整权限控制;
[0029]模块M3:利用已经持久化的权限配置,结合WEB服务中拦截器技术,根据用户的身份以及其对应的权限进行访问权限控制。
[0030]优选的,所述模块M1包括:
[0031]模块M1.1:在WEB后台服务工程中创建一个监听器,负责监听容器启动;
[0032]模块M1.2:监听到容器启动后,通过应用前后关系Application Context获取当前上下文容器;
[0033]模块M1.3:从上下文容器中获取加载过程Request Mapping Handler Mapping,并从中获取到所有程序处理方式Handler Method;
[0034]模块M1.4:解析Handler Method并获取所有的对外接口地址,同时根据Handler Method获取特定方式Method是否存在对应权限注解,若对应Handler Method存在对应权限注解,则连同接口对外地址一同进行持久化处理。
[0035]优选的,所述模块M2包括:
[0036]模块M2.1:根据访问用户的身份需求对控制权限进行设计;
[0037]模块M2.2:根据持久化数据进行维护,包括新增、修改、删除;
[0038]模块M2.3:在权限统一配置同时完成持久化操作,然后进行拦截器权限规则访问控制更新,更新模式包括热更新模式和冷更新模式,热更新模式情况下,需要配合消息中间件推送给对应后台服务进行获取新权限方案;冷更新模式情况下,需要重新启动服务。
[0039]优选的,所述新增包括:对新访问控制进行新增,包括维护权限编码以及对应接口访问地址;
[0040]所述修改包括:对已存在的访问权限码对应可访问接口访问地址进行修改,对于从注解中获取的权限编码以及接口访问地址对应关系不进行修改;
[0041]所述删除包括:对所有持久化的权限编码对应关系进行维护,对通过注解持久化的权限编码对应关系进行软删除,对自定义新增的权限编码对应关系直接进行物理删除。
[0042]优选的,所述模块M3包括:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于WEB服务的细粒度动态权限控制方法,其特征在于,包括:步骤1:将WEB后台服务中的所有对外服务接口进行识别,并通过持久化技术对现有WEB对外接口信息进行持久化;步骤2:基于持久化的接口信息,结合不同人员的职能进行细粒度的统一配置,并再次持久化,并支持根据业务需求变化及时调整权限控制;步骤3:利用已经持久化的权限配置,结合WEB服务中拦截器技术,根据用户的身份以及其对应的权限进行访问权限控制。2.根据权利要求1所述的用于WEB服务的细粒度动态权限控制方法,其特征在于,所述步骤1包括:步骤1.1:在WEB后台服务工程中创建一个监听器,负责监听容器启动;步骤1.2:监听到容器启动后,通过应用前后关系Application Context获取当前上下文容器;步骤1.3:从上下文容器中获取加载过程Request Mapping Handler Mapping,并从中获取到所有程序处理方式Handler Method;步骤1.4:解析Handler Method并获取所有的对外接口地址,同时根据Handler Method获取特定方式Method是否存在对应权限注解,若对应Handler Method存在对应权限注解,则连同接口对外地址一同进行持久化处理。3.根据权利要求1所述的用于WEB服务的细粒度动态权限控制方法,其特征在于,所述步骤2包括:步骤2.1:根据访问用户的身份需求对控制权限进行设计;步骤2.2:根据持久化数据进行维护,包括新增、修改、删除;步骤2.3:在权限统一配置同时完成持久化操作,然后进行拦截器权限规则访问控制更新,更新模式包括热更新模式和冷更新模式,热更新模式情况下,需要配合消息中间件推送给对应后台服务进行获取新权限方案;冷更新模式情况下,需要重新启动服务。4.根据权利要求3所述的用于WEB服务的细粒度动态权限控制方法,其特征在于,所述新增包括:对新访问控制进行新增,包括维护权限编码以及对应接口访问地址;所述修改包括:对已存在的访问权限码对应可访问接口访问地址进行修改,对于从注解中获取的权限编码以及接口访问地址对应关系不进行修改;所述删除包括:对所有持久化的权限编码对应关系进行维护,对通过注解持久化的权限编码对应关系进行软删除,对自定义新增的权限编码对应关系直接进行物理删除。5.根据权利要求1所述的用于WEB服务的细粒度动态权限控制方法,其特征在于,所述步骤3包括:步骤3.1:在容器启动并完成统一化接口权限识别持久化后,重新加载新的权限控制规则,服务启动后加载完成即位生效的权限控制规则;步骤3.2:通过拦截器获取并解析用户携带的授权信息,并对用户携带的授权信息进行匹配,若匹配成功则放行,否则拒绝提供服务;步骤3.3:若服务运行过程中接收到中间件的新规则,则立即更新当前服务的权限控制规则。6.一种用于WEB服务的细粒度...

【专利技术属性】
技术研发人员:徐文远辛逸杰贺培超胡斌肖晓霞沈晨黄子君
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1