CN115495718B - 一种基于前端声明的后端能力授权方法、装置及设备 - Google Patents
一种基于前端声明的后端能力授权方法、装置及设备 Download PDFInfo
- Publication number
- CN115495718B CN115495718B CN202211136918.XA CN202211136918A CN115495718B CN 115495718 B CN115495718 B CN 115495718B CN 202211136918 A CN202211136918 A CN 202211136918A CN 115495718 B CN115495718 B CN 115495718B
- Authority
- CN
- China
- Prior art keywords
- preset
- capability
- resource
- access
- capacity
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于前端声明的后端能力授权方法、装置及设备,本发明通过获取预设后端能力以及预设前端资源,对预设后端能力以及预设前端资源进行解析处理,生成关联关系描述文件,自动解析生成预设后端能力与预设前端资源的访问关联关系,减少手工操作过程;响应于配置指令,为预设角色配置至少一预设前端资源的第一访问权限以根据访问关联关系推导得到第一访问权限具有的预设后端能力的访问权限,自动根据访问关联关系即可以推导得到第一访问权限具有的预设后端能力的访问权限,进一步提高注册效率和减少人为配置出现错误的概率;响应于输入对象的页面请求,能够自动实现检验过程,提高了效率,本发明可广泛应用于计算机技术领域。
Description
技术领域
本发明涉及计算机技术领域,尤其是一种基于前端声明的后端能力授权方法、装置及设备。
背景技术
权限管理是应用系统中必不可少的部分,常见的权限管理包括前端资源、授权管理、后端能力授权管理、数据授权管理。现今,前端资源和后端能力授权管理典型的处理流程通常包括:开发者手工注册前端资源和后端能力、开发者开发一个后端能力授权校验控制器、管理员为角色授予访问某个前端资源的权限、管理员为角色授予访问某个后端能力的权限,这种方式虽然能基本满足日常授权管理的要求,但存在较大的缺陷:1)需要手工注册前端资源、后端能力和两者之间的关系,效率低下且容易出错;2)整体授权过程冗杂,要分别为角色授予前端资源和后端能力的访问权限,两个分离的过程容易因人为疏忽而导致配置不一致,造成授权错误,因此需要寻求解决方案。
发明内容
有鉴于此,为了解决上述技术问题,本发明的目的是提供一种基于前端声明的后端能力授权方法、装置及设备,简化授权过程、提高授权效率。
本发明实施例采用的技术方案是:
一种基于前端声明的后端能力授权方法,包括:
获取设置内容;所述设置内容包括预设后端能力以及预设前端资源;
对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件;所述关联关系描述文件包括所述预设后端能力与所述预设前端资源的访问关联关系;
响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限;
响应于输入对象的页面请求,确定所述页面请求调用的目标后端能力,当所述目标后端能力位于授权检验清单,获取所述输入对象的角色信息,根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,当所述第二访问权限具有的预设后端能力的访问权限中包含所述目标后端能力,将所述页面请求转发至第一目标服务。
进一步,所述设置内容通过以下步骤生成:
响应于第一设置指令,设置至少一后端接口的注解,以及设置所述后端接口的能力名称以及能力编码中的至少之一,得到所述预设后端能力;
响应于第二设置指令,设置页面中至少一元素的资源编码和/或资源类型,得到所述预设前端资源;所述资源类型表征所述元素与所述页面的显示关系。
进一步,所述对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件,包括:
扫描所有后端接口以确定带有所述注解的后端接口,根据所述带有所述注解的后端接口的能力编码,生成能力描述文件;
对所述能力描述文件以及所述预设前端资源进行解析,得到所述资源编码与所述能力编码对应的访问关联关系以生成关联关系描述文件。
进一步,所述响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限,包括:
响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限;
根据配置的至少一所述预设前端资源与所述关联关系描述文件,确定与配置的至少一所述预设前端资源具有关联关系的预设后端能力;所述第一访问权限具有与配置的至少一所述预设前端资源具有关联关系的预设后端能力的访问权限。
进一步,所述根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,包括:
根据所述角色信息从所述预设角色中确定与所述角色信息相同的目标角色;
将所述目标角色对应的所述预设前端资源的第一访问权限作为所述角色信息对应的第二访问权限。
进一步,所述方法还包括:
当所述目标后端能力位于所述授权检验清单之外,将所述页面请求转发至第二目标服务并返回正常处理结果。
进一步,所述方法还包括:
当所述第二访问权限不具有的预设后端能力的访问权限中包含所述目标后端能力,拒绝所述页面请求。
本发明实施例还提供一种基于前端声明的后端能力授权装置,包括:
获取模块,用于获取设置内容;所述设置内容包括预设后端能力以及预设前端资源;
处理模块,用于对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件;所述关联关系描述文件包括所述预设后端能力与所述预设前端资源的访问关联关系;
配置模块,用于响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限;
响应模块,用于响应于输入对象的页面请求,确定所述页面请求调用的目标后端能力,当所述目标后端能力位于授权检验清单,获取所述输入对象的角色信息,根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,当所述第二访问权限具有的预设后端能力的访问权限中包含所述目标后端能力,将所述页面请求转发至第一目标服务。
本发明实施例还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现所述方法。
本发明实施例还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现所述方法。
本发明的有益效果是:通过获取预设后端能力以及预设前端资源,对预设后端能力以及预设前端资源进行解析处理,生成关联关系描述文件,能够自动解析生成预设后端能力与预设前端资源的访问关联关系,减少手工操作过程,提高准确率和效率;响应于配置指令,为预设角色配置至少一预设前端资源的第一访问权限以根据访问关联关系推导得到第一访问权限具有的预设后端能力的访问权限,自动根据访问关联关系即可以推导得到第一访问权限具有的预设后端能力的访问权限,而不需要额外为预设角色授予后端能力的访问权限,进一步提高注册效率和减少人为配置出现错误的概率;响应于输入对象的页面请求,确定页面请求调用的目标后端能力,当目标后端能力位于授权检验清单,获取输入对象的角色信息,根据角色信息与预设角色进行匹配以从第一访问权限中确定角色信息对应的第二访问权限,当第二访问权限具有的预设后端能力的访问权限中包含目标后端能力,将页面请求转发至第一目标服务,自动实现检验过程,提高效率。
附图说明
图1为本发明基于前端声明的后端能力授权方法的步骤流程示意图;
图2为本发明具体实施例基于前端声明的后端能力授权装置的示意图;
图3为本发明具体实施例基于前端声明的后端能力授权的步骤流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
如图1所示,本发明实施例提供一种基于前端声明的后端能力授权方法,包括步骤S100-S400:
S100、获取设置内容。
可选地,设置内容包括预设后端能力以及预设前端资源,预设后端能力以及预设前端资源可根据实际调整,示例性地预设后端能力可以为API接口,预设前端资源可以为页面或者一个页面中的元素等。
可选地,步骤S100包括步骤S110-S120:
S110、响应于第一设置指令,设置至少一后端接口的注解,以及设置后端接口的能力名称以及能力编码中的至少之一,得到预设后端能力。
需要说明的是,第一设置指令包括但不限于通过键盘、鼠标或者触摸屏等方式生成的指令。可选地,响应于第一设置指令,定义至少一个后端接口,假设后端端口的数量为两个为例,示例性地:后端开发人员输入第一设置指令使得系统响应于第一设置指令,在后端工程中以api结尾的目录内,定义了两个接口(后端接口),并在后端接口上设置@Capabil ity注解,以及设置并后端声明接口对应的能力名称和能力编码。例如,第一个后端接口对应的能力名称为“获取客户基本信息”,能力编码为“CAP_BASIC_INFO”;第二个后端接口对应的能力名称为“获取客户扩展信息”,能力编码为“CAP_EXT_INFO”,得到等。需要说明的是,客户基本信息包括但不限于客户姓名、性别等,客户扩展信息包括但不限于客户电话、地址等。
S120、响应于第二设置指令,设置页面中至少一元素的资源编码和/或资源类型,得到预设前端资源。
同样地,第二设置指令包括但不限于通过键盘、鼠标或者触摸屏等方式生成的指令。可选地,响应于第二设置指令,在前端工程的根目录下的modules目录(第一目录)下创建一个名为client的目录(第二目录),在client的目录中存放客户管理相关的前端资源(如页面,一个页面中可以具有至少一元素(页面元素),例如页面的某个区域、某个按钮或者某个文字等),在页面中通过html元素,设置页面元素的自定义属性resCode(资源编码)、resType(资源类型),用于分别声明页面元素的信息,得到预设前端资源。需要说明的是,客户基本信息的页面元素对应的resCode值为”RES_BASIC_INFO”,resTyepe值为“page”,客户扩展信息的页面元素对应的resCode值为”RES_EXT_INFO”,resType值为“page”,resType(资源类型)可选值包括page代表完整页面,block代表区块即部分页面,button代表按钮,因此资源类型表征元素与页面的显示关系,完全显示(完整页面时),部分显示(部分页面、按钮时);resCode代表资源编码,作为页面元素的唯一标识。
需要说明的是,响应于第二指令还用于引入资源解析引擎的res-resolve-engine.js文件,然后在client目录下创建一个js目录(第三目录),在其中创建req.js,用于编写所有需要根据后端请求结果渲染的前端资源的渲染逻辑。具体是:通过调用res-resolve-engine.js中的execReq方法请求预设后端能力,并在callback方法中编写通过预设后端能力返回的结果渲染页面的逻辑。例如,在编写客户基本信息和客户扩展信息时页面时,会通过调用execReq方法,分别调用CAP_BASIC_INFO、CAP_EXT_INFO两个后端能力,为页面元素绑定预设后端能力和预设前端资源的渲染逻辑。
S200、对预设后端能力以及预设前端资源进行解析处理,生成关联关系描述文件。
本发明实施例中,关联关系描述文件包括预设后端能力与预设前端资源的访问关联关系,例如预设后端能力A与预设前端资源B具有访问关联关系,当用户C具有预设前端资源B的访问权限时,由于B与A具有访问关联关系,因此用户C相当于具有A的访问权限,而不需要直接判断用户C是否具有A的访问权限。需要说明的是,利用该种通过前端资源授权推导后端能力授权的方式,改变了传统分别授权前端资源和后端能力的方式,简化了授权过程,提高了授权效率。
可选地,步骤S200包括步骤S210-S220:
S210、扫描所有后端接口以确定带有注解的后端接口,根据带有注解的后端接口的能力编码,生成能力描述文件。
本发明实施例中,能力解析引擎扫描整个后端工程中以api结尾的模块中所有的Rest接口(后端接口),找到接口内定义的带有@Capability注解的方法,即找到带有@Capability注解的后端接口,通过解析方法上@Capability注解以及常见Rest接口注解的内容(如能力编码、能力名称),生成能力描述文件,然后由能力上报组件读取并上报至资源管理模块。例如,会扫描到CAP_BASIC_INFO、CAP_EXT_INFO两个预设后端能力,生成这两个预设后端能力的预设描述文件。
S220、对能力描述文件以及预设前端资源进行解析,得到资源编码与能力编码对应的访问关联关系以生成关联关系描述文件。
本发明实施例中,资源解析引擎扫描整个前端工程的文件,对能力描述文件以及预设前端资源进行解析,得到资源编码与能力编码对应的访问关联关系,从而生成关联关系描述文件,并由资源上报组件读取并上报至资源管理模块。例如:资源解析引擎会在client目录扫描到RES_BASIC_INFO、RES_EXT_INFO两个预设前端资源,以及这两个预设前端资源分别调用的预设后端能力CAP_BASIC_INFO、CAP_EXT_INFO,资源管理模块收到上报信息后,将预设后端能力、预设前端资源和预设后端能力对应的访问关联关系保存到权限数据库。需要说明的是,通过上述处理,经过扫描和上报,自动保存预设后端能力、预设前端资源和预设后端能力对应的访问关联关系,以便后续步骤以预设前端资源为载体,对预设后端能力进行授权管理操作。
S300、响应于配置指令,为预设角色配置至少一预设前端资源的第一访问权限以根据访问关联关系推导得到第一访问权限具有的预设后端能力的访问权限。
类似地,配置指令包括但不限于通过键盘、鼠标或者触摸屏等方式生成的指令。可选地,步骤S300包括步骤S310-S320:
S310、响应于配置指令,为预设角色配置至少一预设前端资源的第一访问权限。
需要说明的是,预设角色可以根据实际需要配置,例如以预设角色为客服专员为例。响应于配置指令,为客服专员配置至少一预设前端资源的第一访问权限,例如配置RES_BASIC_INFO和/或RES_EXT_INFO的第一访问权限。
S320、根据配置的至少一预设前端资源与关联关系描述文件,确定与配置的至少一预设前端资源具有关联关系的预设后端能力。
例如,配置的预设前端资源为RES_BASIC_INFO,根据关联关系描述文件可确定具有关联关系的预设后端能力为CAP_BASIC_INFO;预设前端资源为RES_EXT_INFO,则可确定具有关联关系的预设后端能力为CAP_EXT_INFO。需要说明的是,第一访问权限具有与配置的至少一预设前端资源具有关联关系的预设后端能力的访问权限,即若客服专员具有RES_BASIC_INFO的第一访问权限,则可以根据关联关系描述文件推导出客服专员具有为CAP_BASIC_INFO的访问权限,并会存储至权限数据库中。通过该步骤,能够根据实际需要,为不同预设角色赋予不同的预设前端资源的访问权限,进而赋予页面元素对应的预设后端能力的访问权限。
S400、响应于输入对象的页面请求,确定页面请求调用的目标后端能力,当目标后端能力位于授权检验清单,获取输入对象的角色信息,根据角色信息与预设角色进行匹配以从第一访问权限中确定角色信息对应的第二访问权限,当第二访问权限具有的预设后端能力的访问权限中包含目标后端能力,将页面请求转发至第一目标服务。
可选地,授权检验清单可以根据需求设置,例如若授权检验清单中设置有CAP_BASIC_INFO的预设后端能力,则该CAP_BASIC_INFO能力需要进行校验访问权限。具体地,当输入对象(例如客服专员)对应输入一个具体的页面请求时,根据步骤S120中所描述的页面元素事先绑定的预设后端能力和预设前端资源的渲染逻辑,可以确定当前的页面请求所需要调用的目标后端能力。本发明实施例中,当目标后端能力位于授权检验清单,此时获取输入对象的角色信息。
步骤S400中根据角色信息与预设角色进行匹配以从第一访问权限中确定角色信息对应的第二访问权限,包括步骤S410-S420:
S410、根据角色信息从预设角色中确定与角色信息相同的目标角色。
例如,事先设定的预设角色可能包D1、D2、D3以及客服专员等,当角色信息为角色信息,此时与角色信息相同的目标角色即客服专员。
S420、将目标角色对应的预设前端资源的第一访问权限作为角色信息对应的第二访问权限。
例如,D1、D2、D3以及客服专员等均可能具有事先设置的第一访问权限,当目标角色即客服专员,即将客服专员的第一访问权限作为当前的角色信息对应的第二访问权限。
本发明实施例中,当第二访问权限具有的预设后端能力的访问权限中包含目标后端能力,则校验访问权限通过,将页面请求转发至第一目标服务,进行正常业务处理。需要说明的是,第一目标服务可以根据实际需求设置,不作具体限定。
可选地,本发明实施例提供的基于前端声明的后端能力授权方法还包括步骤S430和/或S440:
S430、当目标后端能力位于授权检验清单之外,将页面请求转发至第二目标服务并返回正常处理结果。
具体地,当目标后端能力位于授权检验清单之外,则不需要进行校验访问权限,此时直接将页面请求转发至第二目标服务并返回正常处理结果。类似地,第二目标服务可以根据实际需求设置,不作具体限定。
S440、当第二访问权限不具有的预设后端能力的访问权限中包含目标后端能力,拒绝页面请求。
具体地,当第二访问权限不具有的预设后端能力的访问权限中包含目标后端能力,校验访问权限不通过,此时拒绝页面请求。
本发明实施例的前端声明的后端能力授权方法,通过预设前端资源授权推导预设后端能力授权,改变了传统分别授权预设前端资源和预设后端能力而需要分别进行两次授权的方式,从而简化了授权过程,减少了由于授权过程冗杂易出错的情况,提高了授权效率;通过资源解析引擎扫描、解析前端工程文件,资源上报组件上报资源和预设后端能力的方式,省去了人工注册资源和预设后端能力的步骤,既避免了人工注册出错导致资源和能力不匹配的问题,也提高了开发效率。
本发明实施例还提供一种基于前端声明的后端能力授权装置,包括:
获取模块,用于获取设置内容;设置内容包括预设后端能力以及预设前端资源;
处理模块,用于对预设后端能力以及预设前端资源进行解析处理,生成关联关系描述文件;关联关系描述文件包括预设后端能力与预设前端资源的访问关联关系;
配置模块,用于响应于配置指令,为预设角色配置至少一预设前端资源的第一访问权限以根据访问关联关系推导得到第一访问权限具有的预设后端能力的访问权限;
响应模块,用于响应于输入对象的页面请求,确定页面请求调用的目标后端能力,当目标后端能力位于授权检验清单,获取输入对象的角色信息,根据角色信息与预设角色进行匹配以从第一访问权限中确定角色信息对应的第二访问权限,当第二访问权限具有的预设后端能力的访问权限中包含目标后端能力,将页面请求转发至第一目标服务。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
如图2、图3所示,以一个具体实施例说明利用前端声明的后端能力授权系统(装置)实现利用前端声明的后端能力授权方法,前端声明的后端能力授权系统(装置)包括资源解析引擎、能力解析引擎、资源上报组件、能力上报组件、资源和能力注册组件、资源管理模块、能力推导引擎、能力鉴权组件,资源解析引擎、能力解析引擎、资源上报组件、能力上报组件、资源和能力注册组件、资源管理模块、能力推导引擎、能力鉴权组件中包含上述的获取模块、处理模块、配置模块以及相应模块;以下为了简便,后端能力/能力即为预设后端能力,前端资源/资源即为预设前端资源:
1、在开发阶段,开发后端能力以及声明前端资源使用的后端能力;
2、部署阶段:1)、能力解析引擎扫描解析后端工程,生成能力描述文件。
具体地:能力解析引擎负责扫描后端工程内api结尾的模块,找到其中定义的带有@Capability注解的接口,@Capability注解拥有能力名称name、能力编码code这两个属性,能力解析引擎通过解析@Capability注解的属性以及方法上的GetMapping、PostMaping等常见Rest接口注解的内容,解析出后端能力对应的请求路径uri,请求类型method等的内容,并将其写入到根目录下meta目录下的后端能力描述文件(即能力描述文件)capability.yaml中。
2)、能力上报组件:负责将后端能力描述文件中的内容上报到资源管理模块。
3)、资源解析引擎扫描解析前端工程,生成资源和能力关联关系文件。
具体地:资源解析引擎负责扫描整个前端工程的文件,根据前端资源声明的标识和后端能力,按照页面层次结构生成资源和能力关联关系的描述文件,即关联关系描述文件。具体地:资源解析引擎提供了一个名为execReq的JavaScript方法供前端工程统一引用,该方法会请求后端能力,并将请求结果传递给回调函数用于页面资源的渲染。其中,execReq方法定义了资源标识resCode、能力路径uri、能力类型method、请求参数params、回调函数callback五个参数,前端开发者需要按照约定将execReq方法的调用存放到每个模块下的req.js文件中。资源解析引擎首先扫描前端工程根目录下modules目录及其子目录下的html文件,根据html元素的自定义属性resCode以及元素的层次推导出资源的层次关系,然后扫描根目录下的modules目录及其子目录下的req.js文件,通过解析其中execReq方法调用的参数,获得资源和能力的关联关系,最后根据以上两个结果,解析出带页面层次结构的资源和后端能力关联关系,并将其写入到根目录下的meta目录下资源和关联关系描述文件res-cap.yaml中。
4)、资源上报组件将资源和关联关系描述文件中的内容上报到资源管理模块(或能力鉴权组件,由能力鉴权组件保存资源和能力的关联关系并发送至资源管理模块)。
其中,资源和能力注册组件:负责接收和解析资源上报组件和能力上报组件上报的信息,并将其整合为结构化的数据保存到权限数据库中。
3、配置阶段:将资源设置为需要能力授权检验,为角色授予资源(即设置授权检验清单以及为预设角色配置至少一预设前端资源的第一访问权限),能力推导引擎从权限数据库读取资源和能力关联关系,推导出角色的能力授权(即确定角色信息对应的第二访问权限),资源管理模块负责提供资源授权配置服务和权限数据读取服务,以为用户赋予角色资源权限。
4、运行处理阶段:当访问系统接收到用户的访问请求,位于API网关中的能力鉴权组件拦截所有请求,判断用户是否有权限访问当前访问的后端能力。
具体地:判断请求的后端能力是否需要授权检验(即确定页面请求调用的目标后端能力是否位于授权检验清单),若否,则直接进入业务处理(即转发至第二目标服务并返回正常处理结果)。若是,解析用户信息以获取用户角色(即获取角色信息),获取用户角色授权访问的能力(即根据角色信息与预设角色进行匹配以从第一访问权限中确定角色信息对应的第二访问权限),当访问的能力是否位于用户角色授权访问的能力中,若是进行业务处理(即当第二访问权限具有的预设后端能力的访问权限中包含目标后端能力,将页面请求转发至第一目标服务),若否则返回未授权的错误信息(即当第二访问权限不具有的预设后端能力的访问权限中包含目标后端能力,拒绝页面请求并返回错误信息)。
本发明实施例还提供了一种电子设备,电子设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的基于前端声明的后端能力授权方法。本发明实施例的电子设备包括但不限于手机、平板电脑、电脑及车载电脑等。
上述方法实施例中的内容均适用于本设备实施例中,本设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现前述实施例的基于前端声明的后端能力授权方法。
本发明实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述实施例的基于前端声明的后端能力授权方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种基于前端声明的后端能力授权方法,其特征在于,包括:
获取设置内容;所述设置内容包括预设后端能力以及预设前端资源;
所述设置内容通过以下步骤生成:
响应于第一设置指令,设置至少一后端接口的注解,以及设置所述后端接口的能力名称以及能力编码中的至少之一,得到所述预设后端能力;
响应于第二设置指令,设置页面中至少一元素的资源编码和/或资源类型,得到所述预设前端资源;所述资源类型表征所述元素与所述页面的显示关系;
对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件;所述关联关系描述文件包括所述预设后端能力与所述预设前端资源的访问关联关系;
所述对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件,包括:
扫描所有后端接口以确定带有所述注解的后端接口,根据所述带有所述注解的后端接口的能力编码,生成能力描述文件;
对所述能力描述文件以及所述预设前端资源进行解析,得到所述资源编码与所述能力编码对应的访问关联关系以生成关联关系描述文件;
响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限;
响应于输入对象的页面请求,确定所述页面请求调用的目标后端能力,当所述目标后端能力位于授权检验清单,获取所述输入对象的角色信息,根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,当所述第二访问权限具有的预设后端能力的访问权限中包含所述目标后端能力,将所述页面请求转发至第一目标服务。
2.根据权利要求1所述基于前端声明的后端能力授权方法,其特征在于:所述响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限,包括:
响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限;
根据配置的至少一所述预设前端资源与所述关联关系描述文件,确定与配置的至少一所述预设前端资源具有关联关系的预设后端能力;所述第一访问权限具有与配置的至少一所述预设前端资源具有关联关系的预设后端能力的访问权限。
3.根据权利要求1-2任一项所述基于前端声明的后端能力授权方法,其特征在于:所述根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,包括:
根据所述角色信息从所述预设角色中确定与所述角色信息相同的目标角色;
将所述目标角色对应的所述预设前端资源的第一访问权限作为所述角色信息对应的第二访问权限。
4.根据权利要求1-2任一项所述基于前端声明的后端能力授权方法,其特征在于:所述方法还包括:
当所述目标后端能力位于所述授权检验清单之外,将所述页面请求转发至第二目标服务并返回正常处理结果。
5.根据权利要求1-2任一项所述基于前端声明的后端能力授权方法,其特征在于:所述方法还包括:
当所述第二访问权限不具有的预设后端能力的访问权限中包含所述目标后端能力,拒绝所述页面请求。
6.一种基于前端声明的后端能力授权装置,其特征在于,包括:
获取模块,用于获取设置内容;所述设置内容包括预设后端能力以及预设前端资源;
所述设置内容通过以下步骤生成:
响应于第一设置指令,设置至少一后端接口的注解,以及设置所述后端接口的能力名称以及能力编码中的至少之一,得到所述预设后端能力;
响应于第二设置指令,设置页面中至少一元素的资源编码和/或资源类型,得到所述预设前端资源;所述资源类型表征所述元素与所述页面的显示关系;
处理模块,用于对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件;所述关联关系描述文件包括所述预设后端能力与所述预设前端资源的访问关联关系;
所述对所述预设后端能力以及所述预设前端资源进行解析处理,生成关联关系描述文件,包括:
扫描所有后端接口以确定带有所述注解的后端接口,根据所述带有所述注解的后端接口的能力编码,生成能力描述文件;
对所述能力描述文件以及所述预设前端资源进行解析,得到所述资源编码与所述能力编码对应的访问关联关系以生成关联关系描述文件;
配置模块,用于响应于配置指令,为预设角色配置至少一所述预设前端资源的第一访问权限以根据所述访问关联关系推导得到所述第一访问权限具有的预设后端能力的访问权限;
响应模块,用于响应于输入对象的页面请求,确定所述页面请求调用的目标后端能力,当所述目标后端能力位于授权检验清单,获取所述输入对象的角色信息,根据所述角色信息与所述预设角色进行匹配以从所述第一访问权限中确定所述角色信息对应的第二访问权限,当所述第二访问权限具有的预设后端能力的访问权限中包含所述目标后端能力,将所述页面请求转发至第一目标服务。
7.一种电子设备,其特征在于:所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-5中任一项所述方法。
8.一种计算机可读存储介质,其特征在于:所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-5中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211136918.XA CN115495718B (zh) | 2022-09-19 | 2022-09-19 | 一种基于前端声明的后端能力授权方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211136918.XA CN115495718B (zh) | 2022-09-19 | 2022-09-19 | 一种基于前端声明的后端能力授权方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115495718A CN115495718A (zh) | 2022-12-20 |
CN115495718B true CN115495718B (zh) | 2023-10-13 |
Family
ID=84470714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211136918.XA Active CN115495718B (zh) | 2022-09-19 | 2022-09-19 | 一种基于前端声明的后端能力授权方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495718B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990228A (zh) * | 2019-12-13 | 2020-04-10 | 集奥聚合(北京)人工智能科技有限公司 | 数据接口监控方法及装置 |
US10715514B1 (en) * | 2016-12-07 | 2020-07-14 | Amazon Technologies, Inc. | Token-based credential renewal service |
WO2021218328A1 (zh) * | 2020-04-28 | 2021-11-04 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
CN113625998A (zh) * | 2021-08-10 | 2021-11-09 | 北京京东振世信息技术有限公司 | 一种请求处理方法和装置 |
CN114115881A (zh) * | 2021-12-03 | 2022-03-01 | 四川新网银行股份有限公司 | 前后端分离项目的权限控制方法、系统、设备及存储介质 |
CN114237576A (zh) * | 2021-12-24 | 2022-03-25 | 数字广东网络建设有限公司 | 基于平面设计的代码生成方法、装置、设备及存储介质 |
WO2022126968A1 (zh) * | 2020-12-15 | 2022-06-23 | 平安科技(深圳)有限公司 | 微服务访问方法、装置、设备及存储介质 |
CN114978671A (zh) * | 2022-05-18 | 2022-08-30 | 中国平安财产保险股份有限公司 | 前端资源访问的方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7546640B2 (en) * | 2003-12-10 | 2009-06-09 | International Business Machines Corporation | Fine-grained authorization by authorization table associated with a resource |
-
2022
- 2022-09-19 CN CN202211136918.XA patent/CN115495718B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715514B1 (en) * | 2016-12-07 | 2020-07-14 | Amazon Technologies, Inc. | Token-based credential renewal service |
CN110990228A (zh) * | 2019-12-13 | 2020-04-10 | 集奥聚合(北京)人工智能科技有限公司 | 数据接口监控方法及装置 |
WO2021218328A1 (zh) * | 2020-04-28 | 2021-11-04 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
WO2022126968A1 (zh) * | 2020-12-15 | 2022-06-23 | 平安科技(深圳)有限公司 | 微服务访问方法、装置、设备及存储介质 |
CN113625998A (zh) * | 2021-08-10 | 2021-11-09 | 北京京东振世信息技术有限公司 | 一种请求处理方法和装置 |
CN114115881A (zh) * | 2021-12-03 | 2022-03-01 | 四川新网银行股份有限公司 | 前后端分离项目的权限控制方法、系统、设备及存储介质 |
CN114237576A (zh) * | 2021-12-24 | 2022-03-25 | 数字广东网络建设有限公司 | 基于平面设计的代码生成方法、装置、设备及存储介质 |
CN114978671A (zh) * | 2022-05-18 | 2022-08-30 | 中国平安财产保险股份有限公司 | 前端资源访问的方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115495718A (zh) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8667578B2 (en) | Web management authorization and delegation framework | |
EP3384431B1 (en) | Copy and paste with scannable code | |
US11714693B2 (en) | Data driven API conversion | |
AU2014400621B2 (en) | System and method for providing contextual analytics data | |
KR20140093947A (ko) | 동적 서비스 통합을 위한 시스템들 및 방법들 | |
US8312508B2 (en) | Information processing apparatus, operation permission generating method, operation permission generation determining method, operation permission generating program product and computer-readable recording medium, and generation permission determining program product and computer-readable recording medium | |
CN111279317A (zh) | Api调用的动态的基于规则的变换 | |
US20140173693A1 (en) | Cookie Optimization | |
CN110471842A (zh) | 一种测试方法、装置及计算机可读存储介质 | |
CN111818175A (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
CN111142863A (zh) | 一种页面生成的方法及装置 | |
US9037609B1 (en) | Method for determining access of queries | |
CN108255967B (zh) | 存储过程的调用方法、装置、存储介质及终端 | |
CN115495718B (zh) | 一种基于前端声明的后端能力授权方法、装置及设备 | |
CN111752964A (zh) | 基于数据接口的数据处理方法及装置 | |
CN115618841A (zh) | 一种文档导出方法、装置、设备及存储介质 | |
CN115017185A (zh) | 一种数据处理方法、装置及存储介质 | |
CN110990465A (zh) | 数据导出方法、装置、电子设备以及存储介质 | |
CN113468125B (zh) | 一种文件服务方法、系统、设备及计算机可读存储介质 | |
CN113626796B (zh) | 基于u盘的权限获取方法、装置、显示设备及存储介质 | |
CN115577381B (zh) | 行级数据访问方法、装置和电子设备 | |
CN116881880B (zh) | 时空数据管理系统及时空数据服务化资源协同调度方法 | |
CN115659406B (zh) | 一种数据访问方法 | |
KR102667872B1 (ko) | 데이터 전처리 장치 및 방법 | |
CN113704746A (zh) | 数据权限处理方法、装置及计算机设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |