一种基于DRF框架的资源权限控制装置与方法制造方法及图纸

技术编号:30645320 阅读:18 留言:0更新日期:2021-11-04 00:51
本发明专利技术公开了一种基于DRF框架的资源权限控制装置与方法。本发明专利技术以通过DRF工具产生的请求对象作为控制过程输入,首先通过输入携带的请求信息,获取并装载各个真实元件,生成用户角色UR对象、资源状态RS对象和视图应用VA对象;然后将UR对象与RS对象以左值,VA对象以右值形式传入由规则生成器RG产生的控制规则中;流程组织器FO计算规则对象条件控制阈,最后引导输入请求至正确的视图中并返还相应的响应信息。本发明专利技术能够支持快速实现复杂的多模型关联条件控制阈与控制流程组织,简易并高效定义复杂权限控制规则。本发明专利技术扩充了DRF在现代Web工程开发中权限控制能力,开发者无需深入了解DRF方案设计及原理即可用于迭代开发。DRF方案设计及原理即可用于迭代开发。DRF方案设计及原理即可用于迭代开发。

【技术实现步骤摘要】
一种基于DRF框架的资源权限控制装置与方法


[0001]本专利技术涉及一种基于DRF框架的资源权限控制装置与方法,属于Web开发、计算机软件领域。

技术介绍

[0002]Django Rest Framework(DRF)是一项由EncodeOSS开发的基于Python

django的Web构建工具框。从2011年诞生并发展至今,DRF仍旧在Python

Web开发工程中具有极大的占有率。而DRF能够经久不衰的主要原因在于其自身灵活的设计架构与众多自定义插件的扩展,使其依靠高效的开发流程与活跃的社区补充,依然完美适应现代Python

Web工程构建。
[0003]随着硬件技术及网络技术不断发展,Web工程所能承载的后台数据容量也越发庞大,在此环境下,复杂的用户资源权限需求变得更加重要。因此,如何准确且快速的实现权限管理开发迭代显得至关重要。
[0004]传统上,DRF及扩展库现存资源权限控制通常建立统一的在应用视图Hook层面,并且以单一模型条件或简单的多模型关联条件作为控制阈。这种传统的控制方式与设计结构,在前述环境下,面临着严峻的挑战:1、如何快速实现复杂的多模型关联条件控制阈与控制流程组织。2、如何简易并高效定义复杂权限控制规则。对于这些挑战,传统方案尤显不足,即其多数难以兼顾控制阈的复杂程度与控制流程组织的便捷程度,因此,需要开发者对其设计及原理有较深的理解,无法适应快速迭代开发过程。

技术实现思路

[0005]专利技术目的:针对上述现有技术存在的问题,本专利技术目的在于提供一种基于DRF框架的资源权限控制装置与方法,以扩充DRF在现代Web工程开发中权限控制能力,开发者无需深入了解DRF方案设计及原理即可用于迭代开发。
[0006]技术方案:为实现上述专利技术目的,本专利技术提供的一种基于DRF框架的资源权限控制装置,包括:用户角色UR模块,用于根据用户数据模型进行实例解析生成载荷数据;资源状态RS模块,用于根据资源数据模型进行实例解析生成载荷数据;视图应用VA模块,用于根据配置生成载荷数据,得到的VA对象为依赖于DRF视图类的视图衍生对象;规则生成器RG,用于解析自定义权限规则,并实现规则对象组装,建立用户角色与资源状态间的规则映射;其中规则对象包括左值输入区与右值输入区,左值输入区接收从DRF输入请求构造的UR及RS对象,右值输入区接收VA对象;自定义权限规则中预先定义了用户角色、资源状态与视图应用间的权限规则;以及,流程组织器FO,用于调用UR、RS和VA模块进行真实元件RE装载,调用RG进行规则映射生成,并进行条件控制阈计算,以及结果选项引导,实现由输入请求情景,反馈相
应的权限响应。
[0007]作为优选,所述规则生成器RG中内嵌有文本解析器用于解析自定义的权限规则,自定义的权限规则包括三层,外层表示用户角色,中层表示资源状态,内层表示视图应用。
[0008]作为优选,自定义的权限规则中,外层、中层和内层组成一条已定义的规则命名空间,中层和内层均可引用已定义规则命名空间中的任意规则或规则组。
[0009]作为优选,所述流程组织器FO依据自定义权限规则或规则组,依次判断规则对象左右值是否匹配,完成条件控制阈计算;将匹配后的VA对象引导至相应情景与下游DRF衍射视图。
[0010]作为优选,所述流程组织器FO在真实元件RE装载,规则映射生成,条件控制阈计算,以及结果选项引导各子流程间设置扩展HOOK。
[0011]作为优选, 所述流程组织器FO以类装饰的方式在DRF衍生视图集切面修饰视图逻辑,或者以函数装饰的方式在DRF衍生接口界面修饰接口逻辑。
[0012]利用根据所述的基于DRF框架的资源权限控制装置实现的一种基于DRF框架的资源权限控制方法,包括如下步骤:Web请求通过DRF工具产生请求对象后,作为控制过程输入;通过输入携带的请求信息,利用用户角色UR模块、资源状态RS模块和视图应用VA模块获取并装载各个真实元件RE,生成用户角色UR对象、资源状态RS对象和视图应用VA对象;将用户角色UR对象与资源状态RS对象以左值,视图应用VA对象以右值形式传入由规则生成器RG产生的控制规则中;流程组织器FO组织上述过程后,计算规则对象条件控制阈,最后引导输入请求至正确的视图中并返还相应的响应信息。
[0013]基于相同的专利技术构思,本专利技术提供一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现如下步骤:Web请求通过DRF工具产生请求对象后,作为资源权限控制过程输入;通过输入携带的请求信息,根据用户数据模型进行实例解析生成用户角色UR对象,根据资源数据模型进行实例解析生成资源状态RS对象,根据配置生成视图应用VA对象,完成真实元件RE的装载;VA对象为依赖于DRF视图类的视图衍生对象;解析用户自定义权限规则,并将用户角色UR对象与资源状态RS对象以左值,视图应用VA对象以右值组装规则对象;自定义权限规则中预先定义了用户角色、资源状态与视图应用间的权限规则;根据自定义权限规则,对规则对象进行条件控制阈计算,以及结果选项引导,实现由输入请求情景,反馈相应的权限响应。
[0014]有益效果:与现有技术相比,本专利技术具有如下优点:1、能够快速实现复杂的多模型关联条件控制阈与控制流程组织。本专利技术涉及由两类基础数据模型参数化的条件控制阈,即用户数据模型与资源数据模型,并在上述数据模型上建立了复杂且详细的权限控制规则或规则组。在已注册相关模块的FO中,可根据由DRF请求解析的不同输入情景,计算条件控制阈并引导情景应答。整个权限控制方案的生命周
期中,编写人员仅需实现所需的RE模块,编写自定义规则,并将RG与RE注册至FO后,即可完成双模型关联的权限控制。进而,在扩展RG规则解析后,协同其它数据模型衍生RE模块,能够快速完成更多模型关联的权限控制工程。因此,本专利技术使编写人员仅需关注模型解析与RE载荷填充及权限规则定义,无需在控制流程组织上耗费精力,极大的简化了多模型关联的权限控制实现。
[0015]2、可以简易并高效定义复杂权限控制规则。本专利技术通过特殊的用户

资源状态

视图应用权限自定义语法,简易且直观的提供了高效的规则定义方式。因此,编写人员无需苦于定义抽象权限规则与输入情景的条件控制阈计算,从而使编写人员能专注于细致的权限控制规则设计,极高的提高了定制化工程的实施效率。
附图说明
[0016]图1为本专利技术实施例的装置结构示意图。
[0017]图2为本专利技术实施例中自定义权限规则语法示例截图。
具体实施方式
[0018]下面将结合附图和具体实施例,对本专利技术的技术方案进行清楚、完整的描述。
[0019]如图1所示,本专利技术实施例公开的一种基于DRF框架的资源权限控制装置,作为DRF工具库的扩展,在DRF应用视图族组织流程的基础上,定义用户角色(Us本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DRF框架的资源权限控制装置,其特征在于,包括:用户角色UR模块,用于根据用户数据模型进行实例解析生成载荷数据;资源状态RS模块,用于根据资源数据模型进行实例解析生成载荷数据;视图应用VA模块,用于根据配置生成载荷数据,得到的VA对象为依赖于DRF视图类的视图衍生对象;规则生成器RG,用于解析自定义权限规则,并实现规则对象组装,建立用户角色与资源状态间的规则映射;其中规则对象包括左值输入区与右值输入区,左值输入区接收从DRF输入请求构造的UR及RS对象,右值输入区接收VA对象;自定义权限规则中预先定义了用户角色、资源状态与视图应用间的权限规则;以及,流程组织器FO,用于调用UR、RS和VA模块进行真实元件RE装载,调用RG进行规则映射生成,并进行条件控制阈计算,以及结果选项引导,实现由输入请求情景,反馈相应的权限响应。2.根据权利要求1所述的基于DRF框架的资源权限控制装置,其特征在于,所述规则生成器RG中内嵌有文本解析器用于解析自定义的权限规则,自定义的权限规则包括三层,外层表示用户角色,中层表示资源状态,内层表示视图应用。3.根据权利要求2所述的基于DRF框架的资源权限控制装置,其特征在于,自定义的权限规则中,外层、中层和内层组成一条已定义的规则命名空间,中层和内层均可引用已定义规则命名空间中的任意规则或规则组。4.根据权利要求1所述的基于DRF框架的资源权限控制装置,其特征在于,所述流程组织器FO依据自定义权限规则或规则组,依次判断规则对象左右值是否匹配,完成条件控制阈计算;将匹配后的VA对象引导至相应情景与下游DRF衍射视图。5.根据权利要求1所述的基于DRF框架的资源权限控制装置,其特征在于,所述流程组织器FO在真实元件RE装载,规则映射生成,条件控制阈计算,以及结果选项引导各子流程间设置扩展HOOK。6.根据权利要求1所述的基于DRF框架的资源权限控制装置,其特征在于, 所述流程组织器FO以类装饰的方式在DRF衍生视图集切面修饰视图逻辑,或者以函数装饰的方式在DRF衍生接口界面...

【专利技术属性】
技术研发人员:王航孙展飞唐海均谢峥高庆官
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:

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

1