CN114692172A - 用户请求的处理方法及装置 - Google Patents

用户请求的处理方法及装置 Download PDF

Info

Publication number
CN114692172A
CN114692172A CN202011563019.9A CN202011563019A CN114692172A CN 114692172 A CN114692172 A CN 114692172A CN 202011563019 A CN202011563019 A CN 202011563019A CN 114692172 A CN114692172 A CN 114692172A
Authority
CN
China
Prior art keywords
interface
target
service
authority
user
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.)
Pending
Application number
CN202011563019.9A
Other languages
English (en)
Inventor
潘峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qianli Richeng Technology Co ltd
Original Assignee
Beijing Qianli Richeng Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qianli Richeng Technology Co ltd filed Critical Beijing Qianli Richeng Technology Co ltd
Priority to CN202011563019.9A priority Critical patent/CN114692172A/zh
Publication of CN114692172A publication Critical patent/CN114692172A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种用户请求的处理方法及装置,在对用户权限进行验证时,微服务网关基于处理用户请求的目标服务接口的接口权限信息,对用户权限进行验证,并在验证通过后,将用户请求转发至目标微服务的目标服务接口,目标微服务处理该用户请求即可,不再需要对用户权限进行验证。进而在链式调用微服务时,仅需微服务网关验证一次用户权限即可,不再需要各个微服务均对用户权限进行验证,验证方式简单化,提高验证效率。进一步,本发明中,不需要微服务进行用户权限验证,能够降低在编写微服务时的编程工作量,提高微服务编程效率。

Description

用户请求的处理方法及装置
技术领域
本发明涉及微服务领域,更具体的说,涉及一种用户请求的处理方法及装置。
背景技术
微服务架构是一项在云中部署应用和服务的技术。在微服务架构下,用户请求会发送到微服务网关,微服务网关对用户身份进行验证后,会将用户请求转发至相应的微服务,微服务对用户权限进行验证,在验证通过后,微服务处理该用户请求。
在实际应用中,一个用户请求可能会涉及到多个微服务的链式调用,链式调用中的各个微服务相互独立,则在链式调用多个微服务时,需要每个微服务单独进行用户权限验证。例如,对于一次用户请求,该请求需要调用微服务A,微服务A内部又调用了微服务B,微服务B内部又调用了微服务C,则此时需要微服务ABC分别进行用户权限验证,验证方式复杂,验证效率较低。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种用户请求的处理方法及装置。
一种用户请求的处理方法,应用于微服务网关,所述用户请求的处理方法包括:
接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
可选地,获取所述目标服务接口的接口权限信息,包括:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
可选地,预先存储所述目标服务接口的接口权限信息的过程包括:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
可选地,获取所述目标服务接口的接口权限信息,包括:
在成功解析得到处理所述用户请求内容的目标微服务后,确定所述目标微服务的权限传输接口,并调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息。
可选地,对所述用户身份信息进行验证,包括:
获取所述用户身份信息对应的用户身份合法信息;
基于所述用户身份合法信息,对所述用户身份信息进行验证。
一种用户请求的处理装置,应用于微服务网关,所述用户请求的处理装置包括:
请求接收模块,用于接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
路由解析模块,用于在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
权限获取模块,用于获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
权限验证模块,用于基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
可选地,所述权限获取模块具体用于:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
可选地,还包括权限存储模块,所述权限存储模块具体用于:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的用户请求的处理方法。
一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的用户请求的处理方法。
借由上述技术方案,本发明提供了一种用户请求的处理方法及装置,在对用户权限进行验证时,微服务网关基于处理用户请求的目标服务接口的接口权限信息,对用户权限进行验证,并在验证通过后,将用户请求转发至目标微服务的目标服务接口,目标微服务处理该用户请求即可,不再需要对用户权限进行验证。进而在链式调用微服务时,仅需微服务网关验证一次用户权限即可,不再需要各个微服务均对用户权限进行验证,验证方式简单化,提高验证效率。进一步,本发明中,不需要微服务进行用户权限验证,能够降低在编写微服务时的编程工作量,提高微服务编程效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种用户请求的处理方法的方法流程图;
图2示出了本发明实施例提供的一种接口权限设置的场景示意图;
图3示出了本发明实施例提供的一种获取接口权限的场景示意图;
图4示出了本发明实施例提供的一种用户请求的处理装置的结构示意图;
图5示出了本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在目前盛行的微服务架构下,往往一个业务流程需要涉及多个服务的调用,由于各个服务是无状态且独立的,因此如果服务涉及到访问权限验证时,我们不得不在每个服务上单独进行,例如,对于某一次业务需要调用微服务A,微服务A内部又调用了微服务B,微服务B调用了微服务C,那么此时我们就需要在微服务ABC上分别进行权限验证。验证方式次数较多,使得验证方式复杂,验证效率较低。
为了解决上述的验证方式复杂的技术问题,发明人经过研究发现,服务A作为这次业务的入口,我们网关处进行权限验证就足够了,微服务A对BC的调用都属于服务内部调用,实际上可以采用一种“信任”的模式不再进行权限验证。
进而针对上述微服务链式调用的情况,可以在微服务网关上统一进行权限验证,微服务内部调用时将不再进行权限验证。但在实际应用中,每个微服务都会设置有多个服务接口,且每个服务接口所需的权限信息往往不同,如何获取到服务接口的权限信息,这是需要研究解决的。发明人经过研究发现,若是能够在每一微服务上额外设置一接口,该接口用于微服务网关调用,得到该微服务所有的服务接口所需的权限信息,就能够实现微服务网关基于获取的权限信息对用户权限进行验证。
本实施例中,在对用户权限进行验证时,微服务网关基于处理用户请求的目标服务接口的接口权限信息,对用户权限进行验证,并在验证通过后,将用户请求转发至目标微服务的目标服务接口,目标微服务处理该用户请求即可,不再需要对用户权限进行验证。进而在链式调用微服务时,仅需微服务网关验证一次用户权限即可,不再需要各个微服务均对用户权限进行验证,验证方式简单化,提高验证效率。进一步,本发明中,不需要微服务进行用户权限验证,能够降低在编写微服务时的编程工作量,提高微服务编程效率。
在上述内容的基础上,本发明实施例提供了一种用户请求的处理方法,该处理方法应用于微服务网关。本实施例中的微服务网关作为服务请求的统一入口,负责转发请求到后端服务。对于所有后端服务来说,网关就是服务请求方。
微服务网关作为服务访问的统一入口,所有用户请求都会过API网关,很适合用来做认证鉴权这类切面型服务。网关可以拦截用户请求,获取请求中附带的用户身份信息,调用认证授权中心的服务,对请求者做身份认证,即确认当前访问者确实是其所声称的身份,检查该用户是否有访问该后台服务的权限。
参照图1,用户请求的处理方法可以包括:
S11、接收用户请求。
在实际应用中,用户能够通过应用软件APP发送用户请求,如APP可以可以是购票软件,用户可以打开安装有购票软件的终端,打开该购票软件,选择购票类型,如选择购买北京到上海的机票,则此时该终端会生成并发送用户请求至微服务网关。
本实施例中,所述用户请求包括用户身份信息、用户权限信息以及用户请求内容。其中,用户身份信息可以是用户名、密码等信息,用户权限信息可以是一个字符串,如是一个密钥,微服务网关获取到该密钥后,可以将该密钥转发至用户认证中心,用户认证中心获取该密钥对应的用户权限,并将该用户权限发送至微服务网关。
用户请求内容可以是购买北京到上海的机票。
S12、在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口。
具体的,微服务网关接收到该用户请求之后,首先对用户身份信息进行验证,以保证用户是合法用户,此后才允许微服务为用户提供服务。
在对用户身份信息进行验证时,首先需要获取所述用户身份信息对应的用户身份合法信息,然后基于所述用户身份合法信息,对所述用户身份信息进行验证。
本实施例中,用户身份合法信息可以预先存储到微服务网关中,如在存储时,存储的是用户名、密码的形式,则在接收到用户请求之后,获取用户请求中携带的用户名和密码,判断该用户名和密码与微服务网关存储的用户名和密码是否一致,若一致,则说明用户合法,若不一致,则说明用户不合法,此时会返回用户账号或密码错误的信息给用户的终端,并且会过滤掉该用户请求,不会将该用户请求转发至微服务。
在确定出用户合法之后,则认为用户身份信息验证通过,此时会对用户请求内容进行路由解析,得到处理该用户请求内容的目标微服务,如微服务A,由于微服务A有多个服务接口,所以此时还需通过路由解析方式确定微服务A中,处理该用户请求内容的服务接口,本实施例称为目标服务接口。
S13、获取所述目标服务接口的接口权限信息。
所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取。
在实际应用中,目前实际业务中各个服务通常以基于HTTP(超文本传输协议)的API(应用程序接口)供服务,下述方案会基于此来描述,但其核心思想同样适用于其他服务形式如RPC(远程过程调用)。
以各个服务通常以API(应用程序接口)提供服务,来说明下各个服务如何配置接口所需的权限信息。
具体的,在服务内各个接口上申明所需的权限项,这种申明可以基于约定的枚举值或其他形式,只需要保证网关可以识别到申明的内容即可。参照图2,以spring mvc中RestController(控制器)为例,在每个请求方法上以注解的形式进行申明,具体如下:@RequirePermission注解中permission内容“jm-sysMng-commentMng”代表访问该接口需要系统管理权限下的评论管理权限。
参照图3,每个服务提供额外提供一个接口(称为CategoryApi),该接口仅供网关调用获取当前服务所有的接口及权限信息,同样以springmvc为例,在该接口中通过反射的方式获取到当前服务中每个有上述一中@RequirePermission注解和@XxxMapping注解的内容,以@XxxMapping注解内容为键,@RequirePermission注解内容为值,以键值对的形式返回到网关。
上述内容中,每个微服务将各个接口以及接口对应的接口权限信息存储到该存储上,本实施例中,称为权限传输接口,微服务网关可以通过调用该接口获取到,每个微服务的各个接口以及接口对应的接口权限信息。
在实际应用中,微服务网关有两种接口调用方式,第一种是在接收到用户请求且用户身份和权限均验证通过后,调用处理该用户请求的微服务端的权限传输接口,得到该微服务的所有的接口的接口权限信息,并从中确定出处理用户请求的目标服务接口的接口权限信息。
具体的,步骤S13的获取所述目标服务接口的接口权限信息,包括:
在成功解析得到处理所述用户请求内容的目标微服务后,确定所述目标微服务的权限传输接口,并调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息。
则在处理用户请求时,网关接收到用户发送的请求后,在网关转发一次业务请求前,通过请求路径可以定位到入口服务,再通过调用该服务的CategoryApi,进一步定位到服务接口及其权限信息,在定位到所需权限信息后,就可以判断当前用户请求中是否有访问该服务接口的权限。
但是上述这种实现方式,在每次处理用户请求时在实时调用微服务的权限传输接口,会加长用户请求的处理时间。另外,若是在服务请求较多时,多次调用微服务的权限传输接口,也会增加微服务网关的处理负担。所以本实施例中,可以确定各个权限传输接口的调用时间间隔,然后按照调用时间间隔对权限传输接口进行调用,得到微服务的各个接口的接口权限信息,并进行本地存储,则在下一次在调用该权限传输接口时,则比对本地存储的接口权限信息是否更改,若更改,则更新本地存储的接口权限信息。
在实际应用中,上述的调用时间间隔可以根据实际情况而定,由于每个微服务提供的服务接口及接口权限信息一般在系统上线后变动较小,所以本实施例中的调用时间间隔可以是固定时间,即每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
另外,若是某一微服务的服务接口或者服务接口的接口权限信息变动较大或者是该服务接口的调用频率较高,为了避免由于接口权限信息变动较快使得微服务网关存储的该服务接口的接口权限信息不是最新的,则可以根据该服务接口,如上述的目标服务接口的调用频率,来确定目标微服务的权限传输接口的目标调用方式,所述目标调用方式包括所述目标服务接口的调用时间间隔,本实施例中的调用时间间隔可以是等间隔,也可以是不等间隔,如发现目标服务接口在12.00-18.00调用频繁,但是在晚上如21.00-24.00很少被调用,则目标接口的调用时间间隔可以设置成在12.00-18.00内每一小时调用一次,在21.00-24.00内每三小时调用一次,能够使得微服务网关根据服务接口的调用频率来更新本地存储的目标接口的接口权限信息,保证保存的接口权限信息是最新的。
即本实施例中,获取所述目标服务接口的调用频率,基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔,基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
通过上述两种方法,可以预先存储所述目标服务接口的接口权限信息,进而在步骤S13中的获取所述目标服务接口的接口权限信息,可以是获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
上述实施例中的接口调用是以目标微服务的目标接口和权限传输接口为例进行说明,在实际应用中,对于任一微服务,微服务网关均可以按照上述方式进行接口权限信息的获取。
本实施例中,在网关上定期同步所有微服务的接口权限信息,而不用在每次业务请求到达时再实时获取,这样可以进一步提高微服务网关的响应能力,降低响应延时。即不用每次接收到用户请求再进行查看某个服务的权限的动作。
S14、基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
微服务网关在获取到接口权限信息之后,会基于接口权限信息对所述用户权限信息进行验证,如调用该目标接口需要用户具有评论管理权限,即该目标接口的接口权限信息中包括评论管理权限,若是用户权限信息中包括评论管理权限,则说明用户权限验证通过,此时将用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
在目标服务接口处理该用户请求时,可以进行链式调用,如再调用微服务B,微服务B再调用微服务C。
由于已经在微服务网关处进行了权限验证,则在微服务处理用户请求时,微服务则不再进行用户权限验证,只需要执行用户请求即可,在链式调用场景下,能够减少用户权限验证的次数,缩短用户请求的处理时间。
另外,由于微服务不再需要进行用户权限验证,则在编写微服务时,也不再需要编写用户权限验证部分,简化了微服务的编写复杂度,提高编写效率。
此外,采用各个服务主动申明接口权限信息,网关主动调用的方式,达到网关同步各个服务接口权限信息,网关获取服务接口的访问权限信息,进而在服务接口调用前完成权限验证工作。实现了在网关上完成服务权限验证的目的,避免了在各个服务上重复进行的权限验证。
若是用户权限信息中不包括评论管理权限,则用户权限验证不通过。
本实施例中,在对用户权限进行验证时,微服务网关基于处理用户请求的目标服务接口的接口权限信息,对用户权限进行验证,并在验证通过后,将用户请求转发至目标微服务的目标服务接口,目标微服务处理该用户请求即可,不再需要对用户权限进行验证。进而在链式调用微服务时,仅需微服务网关验证一次用户权限即可,不再需要各个微服务均对用户权限进行验证,验证方式简单化,提高验证效率。进一步,本发明中,不需要微服务进行用户权限验证,能够降低在编写微服务时的编程工作量,提高微服务编程效率。
可选地,在上述用户请求的处理方法的实施例的基础上,本发明的另一实施例提供了一种用户请求的处理装置,应用于微服务网关,参照图4,所述用户请求的处理装置包括:
请求接收模块11,用于接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
路由解析模块12,用于在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
权限获取模块13,用于获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
权限验证模块14,用于基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
进一步,所述权限获取模块具体用于:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
进一步,还包括权限存储模块,所述权限存储模块具体用于:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
进一步,所述权限获取模块具体用于:
在成功解析得到处理所述用户请求内容的目标微服务后,确定所述目标微服务的权限传输接口,并调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息。
进一步,路由解析模块用于对所述用户身份信息进行验证时,具体用于:
获取所述用户身份信息对应的用户身份合法信息,基于所述用户身份合法信息,对所述用户身份信息进行验证。
本实施例中,在对用户权限进行验证时,微服务网关基于处理用户请求的目标服务接口的接口权限信息,对用户权限进行验证,并在验证通过后,将用户请求转发至目标微服务的目标服务接口,目标微服务处理该用户请求即可,不再需要对用户权限进行验证。进而在链式调用微服务时,仅需微服务网关验证一次用户权限即可,不再需要各个微服务均对用户权限进行验证,验证方式简单化,提高验证效率。进一步,本发明中,不需要微服务进行用户权限验证,能够降低在编写微服务时的编程工作量,提高微服务编程效率。
需要说明的是,本实施例中的各个模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
所述用户请求的处理装置包括处理器和存储器,上述请求接收模块、路由解析模块、权限获取模块和权限验证模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来降低对用户权限进行验证时的复杂度。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述用户请求的处理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述用户请求的处理方法。
本发明实施例提供了一种电子设备70,参照图5,设备70包括至少一个处理器701、以及与处理器连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述的用户请求的处理方法。本文中的设备70可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
进一步,获取所述目标服务接口的接口权限信息,包括:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
进一步,预先存储所述目标服务接口的接口权限信息的过程包括:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
进一步,获取所述目标服务接口的接口权限信息,包括:
在成功解析得到处理所述用户请求内容的目标微服务后,确定所述目标微服务的权限传输接口,并调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息。
进一步,对所述用户身份信息进行验证,包括:
获取所述用户身份信息对应的用户身份合法信息;
基于所述用户身份合法信息,对所述用户身份信息进行验证。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种用户请求的处理方法,其特征在于,应用于微服务网关,所述用户请求的处理方法包括:
接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
2.根据权利要求1所述的处理方法,其特征在于,获取所述目标服务接口的接口权限信息,包括:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
3.根据权利要求2所述的处理方法,其特征在于,预先存储所述目标服务接口的接口权限信息的过程包括:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
4.根据权利要求1所述的处理方法,其特征在于,获取所述目标服务接口的接口权限信息,包括:
在成功解析得到处理所述用户请求内容的目标微服务后,确定所述目标微服务的权限传输接口,并调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息。
5.根据权利要求1所述的处理方法,其特征在于,对所述用户身份信息进行验证,包括:
获取所述用户身份信息对应的用户身份合法信息;
基于所述用户身份合法信息,对所述用户身份信息进行验证。
6.一种用户请求的处理装置,其特征在于,应用于微服务网关,所述用户请求的处理装置包括:
请求接收模块,用于接收用户请求;所述用户请求包括用户身份信息、用户权限信息以及用户请求内容;
路由解析模块,用于在对所述用户身份信息验证通过后,对所述用户请求内容进行路由解析,得到处理所述用户请求内容的目标微服务,以及所述目标微服务的目标服务接口;
权限获取模块,用于获取所述目标服务接口的接口权限信息,所述接口权限信息通过调用所述目标微服务预先配置的权限传输接口获取;
权限验证模块,用于基于所述接口权限信息对所述用户权限信息进行验证,并在验证通过后,将所述用户请求转发至所述目标服务接口,以使所述目标服务接口处理所述用户请求。
7.根据权利要求6所述的处理装置,其特征在于,所述权限获取模块具体用于:
获取预先存储到所述微服务网关的所述目标服务接口的接口权限信息;所述目标服务接口的接口权限信息是通过预设接口调用方式调用所述目标微服务的权限传输接口获取。
8.根据权利要求7所述的处理装置,其特征在于,还包括权限存储模块,所述权限存储模块具体用于:
每隔固定时间,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息;
或,获取所述目标服务接口的调用频率;
基于所述调用频率,确定出所述目标微服务的权限传输接口的目标调用方式;所述目标调用方式包括所述目标服务接口的调用时间间隔;
基于所述目标调用方式中的调用时间间隔,调用所述目标微服务的权限传输接口,以通过所述权限传输接口获取所述目标服务接口的接口权限信息,并更新所述微服务网关保存的所述目标服务接口的接口权限信息。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-5中任一项所述的用户请求的处理方法。
10.一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-5中任一项所述的用户请求的处理方法。
CN202011563019.9A 2020-12-25 2020-12-25 用户请求的处理方法及装置 Pending CN114692172A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011563019.9A CN114692172A (zh) 2020-12-25 2020-12-25 用户请求的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011563019.9A CN114692172A (zh) 2020-12-25 2020-12-25 用户请求的处理方法及装置

Publications (1)

Publication Number Publication Date
CN114692172A true CN114692172A (zh) 2022-07-01

Family

ID=82130029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011563019.9A Pending CN114692172A (zh) 2020-12-25 2020-12-25 用户请求的处理方法及装置

Country Status (1)

Country Link
CN (1) CN114692172A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102784A (zh) * 2022-07-21 2022-09-23 武汉联影医疗科技有限公司 权限信息管理方法、装置、计算机设备、存储介质和产品
CN115208693A (zh) * 2022-09-09 2022-10-18 中国电子科技集团公司第十五研究所 一种基于微服务的安全访问控制方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102784A (zh) * 2022-07-21 2022-09-23 武汉联影医疗科技有限公司 权限信息管理方法、装置、计算机设备、存储介质和产品
CN115102784B (zh) * 2022-07-21 2023-06-23 武汉联影医疗科技有限公司 权限信息管理方法、装置、计算机设备和存储介质
CN115208693A (zh) * 2022-09-09 2022-10-18 中国电子科技集团公司第十五研究所 一种基于微服务的安全访问控制方法及装置
CN115208693B (zh) * 2022-09-09 2022-12-20 中国电子科技集团公司第十五研究所 一种基于微服务的安全访问控制方法及装置

Similar Documents

Publication Publication Date Title
CN110460595B (zh) 一种鉴权与业务服务方法、装置以及设备
US10681028B2 (en) Controlling access to resources on a network
US9769266B2 (en) Controlling access to resources on a network
EP3108634B1 (en) Facilitating third parties to perform batch processing of requests requiring authorization from resource owners for repeat access to resources
US10887180B2 (en) Internet of things device discovery and deployment
CN112564916A (zh) 应用于微服务架构的访问客户端认证系统
US11418498B2 (en) Single sign on proxy for regulating access to a cloud service
US8856957B1 (en) Federated identity broker
US11296881B2 (en) Using IP heuristics to protect access tokens from theft and replay
CN110247917B (zh) 用于认证身份的方法和装置
US20190068568A1 (en) Distributed profile and key management
CN114692172A (zh) 用户请求的处理方法及装置
CN113055470B (zh) 服务请求分发方法和系统
CN113721893A (zh) 一种微服务总线设计方法及装置
CN108289080B (zh) 一种访问文件系统的方法、装置和系统
CN116484338A (zh) 数据库访问方法及装置
CN114448857A (zh) Mock服务处理方法、装置、存储介质和系统
US11700280B2 (en) Multi-tenant authentication framework
CN117093977A (zh) 用户认证方法、系统、装置、存储介质以及电子设备
CN111541717A (zh) 一种业务处理方法、装置、设备及业务系统
CN116566656A (zh) 资源访问方法、装置、设备及计算机存储介质
CN117134927A (zh) 一种基于Kong网关的登录校验方法及相关设备
CN111090839B (zh) 一种资源操作权限管理方法、装置、电子设备和存储介质
CN113765876A (zh) 报表处理软件的访问方法和装置
CN112583777B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 05-501, 5th floor, No. 229, Middle North Fourth Ring Road (South podium building of Haitai building), Haidian District, Beijing 100083

Applicant after: Beijing guoshuangqianli Technology Co.,Ltd.

Address before: No. 05-501, 5th floor, No. 229, Middle North Fourth Ring Road (South podium building of Haitai building), Haidian District, Beijing 100083

Applicant before: Beijing Qianli Richeng Technology Co.,Ltd.