CN115589333B - 一种访问请求认证方法、装置、系统及电子设备 - Google Patents

一种访问请求认证方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN115589333B
CN115589333B CN202211411402.1A CN202211411402A CN115589333B CN 115589333 B CN115589333 B CN 115589333B CN 202211411402 A CN202211411402 A CN 202211411402A CN 115589333 B CN115589333 B CN 115589333B
Authority
CN
China
Prior art keywords
login
token
authentication
service interface
access request
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
Application number
CN202211411402.1A
Other languages
English (en)
Other versions
CN115589333A (zh
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.)
Zhongdian Jinxin Software Co Ltd
Original Assignee
Zhongdian Jinxin Software 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 Zhongdian Jinxin Software Co Ltd filed Critical Zhongdian Jinxin Software Co Ltd
Priority to CN202211411402.1A priority Critical patent/CN115589333B/zh
Publication of CN115589333A publication Critical patent/CN115589333A/zh
Application granted granted Critical
Publication of CN115589333B publication Critical patent/CN115589333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种访问请求认证方法、装置、系统及电子设备,应用于服务器,该方法包括:接收客户端发送的针对第一业务接口的访问请求;利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态;若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证;若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态;利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问。通过采用上述访问请求认证方法、装置、系统及电子设备,解决了将不同登录认证模式的多个产品整合到统一管理平台时,整合效率低的问题。

Description

一种访问请求认证方法、装置、系统及电子设备
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种访问请求认证方法、装置、系统及电子设备。
背景技术
在企业发展初期,企业开发的产品较少,每个应用或者服务都有自己的登录系统,但是随着企业的不断发展,企业的产品不断增加,为了更好地管理以及维护这些产品,需要将这些产品整合到一个统一的管理平台上。不同的产品在进行用户登录认证时可能采用不同的认证模式,例如:某些产品采用Token认证模式,另一些产品采用共享Session认证模式。
然而,如果将不同的产品都整合到统一的管理平台上,需要对不同产品进行架构及公共模块的整合,这导致在不同产品的登录认证模式不同时,需要对多个产品的登录认证模式进行改动,造成整合工作量大、整合效率低的问题。
发明内容
有鉴于此,本申请的目的在于提供一种访问请求认证方法、装置、系统及电子设备,以解决在将不同产品整合到统一的管理平台上时,因不同产品的登录认证模式不同,导致整合效率低的问题。
第一方面,本申请实施例提供了一种访问请求认证方法,应用于服务器,所述服务器上部署有登录认证过滤器、令牌认证服务接口以及授权认证过滤器,方法包括:
接收客户端发送的针对第一业务接口的访问请求,访问请求携带有登录令牌;
利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态;
若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证;
若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态,所述目标用户是指发出访问请求的用户;
利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问第一业务接口。
可选地,在利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限之后,还包括:若具备访问第一业务接口的访问权限,确定是否需要调用第二业务接口;若需要调用第二业务接口,向第二业务接口发送调用请求,调用请求中包括Session对象标识;基于Session对象标识,对调用请求进行验证;若调用请求通过验证,允许对第二业务接口进行访问。
可选地,基于Session对象标识,对调用请求进行验证,包括:确定与Session对象标识对应的Session对象;利用登录认证过滤器对Session对象的登录状态以及登录令牌进行验证;利用授权认证过滤器检查目标用户是否具备访问第二业务接口的访问权限。
可选地,利用用户信息将Session访问请求设置为已登录状态,包括:将用户信息写入Session对象的用户属性中。
可选地,Session对象包括登录令牌以及用户信息,利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态,包括:确定Session对象中是否存在登录令牌以及用户信息;若登录令牌以及用户信息均存在,确定Session对象被设置为已登录状态;若登录令牌或者用户信息不存在,确定Session对象未被设置为已登录状态。
可选地,利用令牌认证服务接口对登录令牌进行验证,包括:令牌认证服务接口从Session对象中获取目标登录令牌;确定访问请求携带的登录令牌与目标登录令牌是否匹配;若访问请求携带的登录令牌与目标登录令牌匹配,确定登录令牌通过验证。
可选地,在利用令牌认证服务接口对登录令牌进行验证之前,还包括:采用Feign接口规范开发令牌认证服务接口;将令牌认证服务接口接入客户端,以利用令牌认证服务接口对登录令牌进行验证。
第二方面,本申请实施例还提供了一种访问请求认证装置,所述装置包括:
请求接收模块,用于接收客户端发送的针对第一业务接口的Session访问请求,访问请求携带有登录令牌;
登录检查模块,用于利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态;
令牌验证模块,用于若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证;
状态设置模块,用于若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态,所述目标用户是指发出访问请求的用户;
权限检查模块,用于利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问。
第三方面,本申请实施例还提供一种访问请求认证系统,所述系统包括:登录服务器、客户端以及业务服务器;
登录服务器在目标用户登录服务器时生成登录令牌,将目标用户的用户信息以及生成的登录令牌存入Session对象中,将登录令牌返回至客户端;
客户端向业务服务器的第一业务接口发送携带登录令牌的访问请求;
业务服务器接收Session访问请求,执行上述访问请求认证方法。
第四方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的访问请求认证方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种访问请求认证方法、装置、系统及电子设备,能够首先利用登录认证过滤器对Session对象的登录状态进行检查,如果Session对象被设置为已登录状态,说明采用的是共享Session认证模式,无需进行登录令牌验证;如果未被设置为登录状态,说明采用的是Token认证模式,需要进行登录令牌验证,即,实现了Token认证以及共享Session认证之间的互认,不同产品即使采用不同的登录认证模式,均可以通过上述方法完成认证,无需针对每个产品进行单独的登录认证模式修改,与现有技术中的访问请求认证方法相比,解决了在将不同产品整合到统一的管理平台上时,因不同产品的登录认证模式不同,导致整合效率低的问题。同时,本申请还能够将认证信息用于调用其他端口时的权限验证,提高其他端口的验证效率,为不同产品提供认证及访问权限的获取服务。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的访问请求认证方法的流程图;
图2示出了本申请实施例所提供的访问请求认证装置的结构示意图;
图3示出了本申请实施例所提供的访问请求认证系统的结构示意图;
图4示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,在企业发展初期,企业开发的产品较少,每个应用或者服务都有自己的登录系统,但是随着企业的不断发展,企业的产品不断增加,为了更好地管理以及维护这些产品,需要将这些产品整合到一个统一的管理平台上。不同的产品在进行用户登录认证时可能采用不同的认证模式,例如:某些产品采用Token认证模式,另一些产品采用共享Session认证模式。然而,如果将不同的产品都整合到统一的管理平台上,需要对不同产品进行架构及公共模块的整合,这导致在不同产品的登录认证模式不同时,需要对多个产品的登录认证模式进行改动,造成整合工作量大、整合效率低的问题。
基于此,本申请实施例提供了一种访问请求认证方法,以提高在将不同登录认证模式的多个产品整合到统一管理平台上时的整合效率。
请参阅图1,图1为本申请实施例所提供的一种访问请求认证方法的流程图。如图1所示,本申请实施例提供的访问请求认证方法,应用于服务器,所述服务器上部署有登录认证过滤器、令牌认证服务接口以及授权认证过滤器,包括:
步骤S101,接收客户端发送的针对第一业务接口的访问请求。访问请求携带有登录令牌。
该步骤中,客户端可指整合到统一管理平台的目标产品的前端。
服务器可指业务服务器,在该业务服务器上部署有目标产品对应的后端服务,后端服务是部署在业务服务器上的后端应用程序,通过后端服务来实现访问请求认证方法。
第一业务接口可指目标产品中的业务接口,第一业务接口与第一业务相对应,第一业务通过第一业务接口与客户端进行通信。
第一业务可指目标产品中的业务,例如:金融产品中的办理贷款业务。
访问请求可指访问目标产品中某项业务的请求,访问请求用于对目标产品中的具体业务进行访问。
登录令牌可指发出访问请求的目标用户,在登录目标产品时登录服务器生成的Token,Token里面会记录该Token生成时客户端的IP地址,即,请求IP地址。
在本申请实施例中,业务服务器上部署有后端服务,后端服务上集成了登录认证过滤器、令牌认证服务接口以及授权认证过滤器。当目标用户针对目标产品中的第一业务进行访问时,客户端会调用后端接口,通过后端接口将访问请求发送至后端服务,该访问请求中携带有登录令牌,以根据该登录令牌验证用户是否通过登录认证。其中,登录令牌是用户登录服务器时,登录服务器根据用户名称以及密码生成的JWTToken。
需要说明的是,目标用户登录服务器时,登录服务器可能采用的是Token认证模式,也可能是共享Session认证模式,共享Session认证模式下,对于目标产品来说仅使用同一个Session对象来进行数据通信,但是Token认证模式下,不同的业务服务对应不同的Session,因此对于目标产品来说会使用多个Session对象。为了支持上述两种认证模式,需要实现两种认证模式的互认互通。因此,可先保存Token认证模式所使用的登录令牌,将登录令牌以及目标用户的用户信息存入Session对象中。同时,在Redis数据库中记录该Token对应的Session对象以及用户信息,以使后端服务从Redis中获取Session对象中存储的登录令牌和用户信息,同时使得令牌认证服务接口从Redis数据库中获取用户信息,以将Session对象设置为已登录状态。其中,Redis是指非关系型数据库。
步骤S102,利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态。
该步骤中,登录认证过滤器可指对登录进行认证的程序代码块,登录认证过滤器用于检查Session对象的登录状态,并设置Session对象的登录状态。
另外,登录认证过滤器被嵌入到每个业务模块中,当有访问请求访问不同的业务模块时,都会调用这个登录认证过滤器进行登录验证。
Session对象用于存储用户的会话信息,Session对象中可以存储登录令牌以及用户信息,根据登录令牌和用户信息可以判断目标产品采用的是何种认证模式。
在本申请实施例中,当访问请求发生时,根据登录令牌以及用户信息来判断当前Session对象是否被设置未已登录状态,其中,当前Session对象就是访问请求对应的Session对象,当前Session对象是客户端和服务器建立连接时的Session对象。
在一可选实施例中,Session对象包括登录令牌以及用户信息,利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态,包括:确定Session对象中是否存在登录令牌以及用户信息;若登录令牌以及用户信息均存在,确定Session对象被设置为已登录状态;若登录令牌或者用户信息不存在,确定Session对象未被设置为已登录状态。
具体的,如果目标产品采用的共享Session认证模式,则该目标产品无论是在登录服务器时,还是目标用户针对目标产品的其他业务进行访问时,都会使用同一Session对象来存储登录令牌以及用户信息。但是,如果目标产品采用的是Token认证模式,则在目标用户登录该目标产品对应的登录服务器时会创建新的Session对象,因此登录时生成的Session对象与目标用户访问其他业务时使用的Session对象必然是不同的。
因此,当登录令牌以及用户信息均存在时,说明采用的是共享Session认证模式;当登录令牌或者用户信息不存在时,说明采用的是Token认证模式。
步骤S103,若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证。
该步骤中,令牌认证服务接口可指令牌认证服务的接口,令牌认证服务接口用于为所有接入统一管理平台的产品提供登录令牌验证服务。
令牌认证服务接口是在事先开发好的接口,然后,将该令牌认证服务接口部署在目标产品对应的后端服务中。
在本申请实施例中,如果确定Session对象不是已登录状态,说明针对目标产品采用的是Token认证模式,因此,需要对登录令牌进行验证。于是,通过令牌认证服务接口从数据库中获取Session对象,然后从Session对象中获取所存储的登录令牌,并对获取到的登录令牌进行验证。
在一可选实施例中,利用令牌认证服务接口对登录令牌进行验证,包括:令牌认证服务接口从所述Session对象中获取目标登录令牌;确定访问请求携带的登录令牌与目标登录令牌是否匹配;若访问请求携带的登录令牌与目标登录令牌匹配,确定登录令牌通过验证。
具体的,在通过令牌认证服务接口对登录令牌进行验证之前,采用Feign接口规范开发令牌认证服务接口,将令牌认证服务接口部署在后端服务中,以利用令牌认证服务接口对登录令牌进行验证。另外,接入统一管理平台的不同产品均通过该令牌认证接口进行登录令牌的验证。
这里,进行登录令牌验证前,还需要从三个方面进行验证,分别是登录令牌是否为空、登录令牌是否处于有效期内、请求IP地址是否验证通过。只有上述三个条件同时满足,才进行登录令牌的正确性验证,只要登录令牌为空、登录令牌已过期、请求IP地址验证失败这三种情况中的任意一种情况发生,均确定为登录令牌验证失败。上述三个方面都满足后,进行登录令牌的正确性验证,如果访问请求中携带的登录令牌与目标登录令牌匹配,确定登录令牌通过验证;如果访问请求中携带的登录令牌与目标登录令牌不匹配,确定登录令牌通过失败。
在一可选实施例中,在利用令牌认证服务接口对登录令牌进行验证之前,还包括:采用Feign接口规范开发令牌认证服务接口;将令牌认证服务接口接入客户端,以利用令牌认证服务接口对登录令牌进行验证。
具体的,需要开发令牌认证服务接口,该令牌认证服务接口是一个统一的登录令牌认证接口,可以部署在不同产品的后端服务上,以利用该令牌认证接口对登录令牌进行验证。令牌认证服务接口会获取目标用户登录时存储的目标登录令牌,利用该目标登录令牌验证访问请求中的登录令牌是否符合要求。
步骤S104,若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态。
该步骤中,数据库可指Redis数据库,数据库用于存储Session对象以及目标用户的用户信息。
目标用户是指发出访问请求的用户,响应于目标用户针对目标产品的操作指令,客户端向第一业务接口发出访问请求。
用户信息可指目标用户的信息,用户信息包括个人信息以及权限信息。
个人信息包括但不限于:用户名称、手机号码、邮箱地址、年龄。
权限信息包括但不限于:角色、菜单权限,其中,角色指的是目标用户扮演的角色,不同角色对应不同的权限,可以将角色理解为目标用户在目标产品中的权限等级;菜单权限可指目标用户可操作的菜单项,菜单权限列举了目标用户可以操作的菜单项。
在一可选实施例中,利用用户信息将Session访问请求设置为已登录状态,包括:将用户信息写入Session对象的用户属性中。
具体的,用户属性可指Session对象中的User属性。在利用登录认证过滤器检查Session对象的登录状态后,如果Session对象中的登录令牌为空或者用户属性中用户信息不存在,表明目标应用采用的是token认证模式,因此,为了达到token认证与共享Session认证互认的效果,需要将Session设置为已登录状态,即,将用户信息写入Session对象的用户属性中,以在后续业务处理时能够确定用户已经登录。
步骤S105,利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问第一业务接口。
该步骤中,授权认证过滤器可指对访问请求的访问权限进行验证的过滤器。
授权认证过滤器也是一段程序代码块,也需要事先开发好该授权认证过滤器,然后将授权认证过滤器部署在后端服务上,在接入统一管理平台的不同产品的后端服务上均需部署该授权认证过滤器。
访问权限可指访问第一业务接口的权限,访问权限用于对访问请求进行权限验证。
在本申请实施例中,不但要对访问请求进行登录认证,还需要对访问请求进行权限认证,即,利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,这里,在授权认证过滤器从Redis数据库中获取用户信息,并利用获取的用户信息建立用户-角色-权限的关联模型,然后,利用该用户-角色-权限关联模型对Session对象中的用户信息进行权限认证,由于利用关联模型进行权限认证方法属于现有技术,这里不再赘述。如果确定访问请求没有访问第一业务的权限,则拒绝目标用户访问第一业务接口,如果确定访问请求具备访问第一业务的权限,则允许目标用户访问第一业务接口。
在一可选实施例中,在利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限之后,还包括:若具备访问第一业务接口的访问权限,确定是否需要调用第二业务接口;若需要调用第二业务接口,向第二业务接口发送调用请求,调用请求中包括Session对象标识;基于Session对象标识,对调用请求进行验证;若调用请求通过验证,允许对第二业务接口进行访问。
具体的,如果访问请求在对第一业务接口进行访问时,还需要调用第二业务接口,则通过后端服务中部署的Feign调用拦截器向第二业务接口发送调用请求,Feign调用拦截器会在调用请求中加入Session对象标识和调用者信息,其中,调用者信息包括但不限于:登录令牌、请求IP地址。第二业务接口与第一业务接口采用同样的验证方式对调用请求进行验证,若该调用请求通过验证,则允许调用请求对第二业务接口进行访问,调用请求从第二业务接口获取第二业务返回的处理信息,并将返回的处理信息发送至第一业务接口。
在一可选实施例中,基于Session对象标识,对调用请求进行验证,包括:确定与Session对象标识对应的Session对象;利用登录认证过滤器对Session对象的登录状态以及登录令牌进行验证;利用授权认证过滤器检查目标用户是否具备访问第二业务接口的访问权限。
具体的,由于调用请求中包括Session对象标识,因此,可以利用该Session对象标识确定对应的Session对象,然后,先利用登录认证过滤器检查该Session对象是否为已登录状态,若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证;若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态;利用授权认证过滤器检查目标用户是否具备访问第二业务接口的访问权限,若没有访问权限则拒绝访问第二业务接口。
与现有技术中访问请求认证方法相比,本申请能够首先利用登录认证过滤器对Session对象的登录状态进行检查,如果Session对象被设置为已登录状态,说明采用的是共享Session认证模式,无需进行登录令牌验证;如果未被设置为登录状态,说明采用的是Token认证模式,于是进行登录令牌验证,这样就实现了Token认证以及共享Session认证之间的互认,不同产品即使采用不同的登录认证模式,均可以通过上述方法完成认证,无需针对每个产品进行单独的登录认证模式修改,解决了在将不同产品整合到统一的管理平台上时,因不同产品的登录认证模式不同,导致整合效率低的问题。同时,本申请还能够将认证信息用于调用其他端口时的权限验证,提高其他端口的验证效率,为不同产品提供认证及访问权限的获取服务。
基于同一发明构思,本申请实施例中还提供了与访问请求认证方法对应的访问请求认证装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述访问请求认证方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2为本申请实施例所提供的一种访问请求认证装置的结构示意图。如图2中所示,所述访问请求认证装置200包括:
请求接收模块201,用于接收客户端发送的针对第一业务接口的访问请求,访问请求携带有登录令牌;
登录检查模块202,用于利用登录认证过滤器检查与访问请求对应的Session对象是否被设置为已登录状态;
令牌验证模块203,用于若不是已登录状态,利用令牌认证服务接口对登录令牌进行验证;
状态设置模块204,用于若登录令牌通过验证,从数据库中获取目标用户的用户信息,利用用户信息将Session对象设置为已登录状态,目标用户是指发出访问请求的用户;
权限检查模块205,用于利用授权认证过滤器检查目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问第一业务接口。
请参阅图3,图3为本申请实施例所提供的一种访问请求认证系统的结构示意图。如图3中所示,所述访问请求认证系统300包括:登录服务器310、客户端320以及业务服务器330;
登录服务器310在目标用户登录服务器时生成登录令牌,将目标用户的用户信息以及生成的登录令牌存入Session对象中,将登录令牌返回至客户端320;
客户端320向业务服务器330的第一业务接口发送携带登录令牌的访问请求;
业务服务器330接收访问请求,执行上述的访问请求认证方法。
在本申请实施例中,当目标用户登录服务器时,登录服务器根据目标用户的用户名称以及密码生成JWTToken,同时将目标用户的用户信息以及JWTToken存入Session对象中。另外,在Redis数据库中记录JWTToken对应的Session对象和目标用户的用户信息。
当目标用户访问目标产品的某项业务时,客户端会调用业务服务器对应的业务接口,并向业务服务器发送访问请求,该访问请求中携带了登录服务器生成的JWTToken。
业务服务器接收客户端发送的访问请求,并对访问请求进行验证。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述图1所示方法实施例中的访问请求认证方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的访问请求认证方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种访问请求认证方法,其特征在于,应用于服务器,所述服务器上部署有登录认证过滤器、令牌认证服务接口以及授权认证过滤器,所述方法包括:
接收客户端发送的针对第一业务接口的访问请求,所述访问请求携带有登录令牌;
利用登录认证过滤器检查与所述访问请求对应的Session对象是否被设置为已登录状态;
若不是已登录状态,利用令牌认证服务接口对所述登录令牌进行验证;
若所述登录令牌通过验证,从数据库中获取目标用户的用户信息,利用所述用户信息将所述Session对象设置为已登录状态,所述目标用户是指发出访问请求的用户;
利用授权认证过滤器检查所述目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问第一业务接口;
所述Session对象包括登录令牌以及用户信息;
所述利用登录认证过滤器检查与所述访问请求对应的Session对象是否被设置为已登录状态,包括:
确定所述Session对象中是否存在登录令牌以及用户信息;
若登录令牌以及用户信息均存在,确定Session对象被设置为已登录状态;
若登录令牌或者用户信息不存在,确定Session对象未被设置为已登录状态。
2.根据权利要求1所述的方法,其特征在于,在所述利用授权认证过滤器检查所述目标用户是否具备访问第一业务接口的访问权限之后,还包括:
若具备访问第一业务接口的访问权限,确定是否需要调用第二业务接口;
若需要调用第二业务接口,向第二业务接口发送调用请求,所述调用请求中包括Session对象标识;
基于所述Session对象标识,对所述调用请求进行验证;
若所述调用请求通过验证,允许对第二业务接口进行访问。
3.根据权利要求2所述的方法,其特征在于,所述基于所述Session对象标识,对所述调用请求进行验证,包括:
确定与所述Session对象标识对应的Session对象;
利用登录认证过滤器对所述Session对象的登录状态以及所述登录令牌进行验证;
利用授权认证过滤器检查所述目标用户是否具备访问第二业务接口的访问权限。
4.根据权利要求1所述的方法,其特征在于,所述利用所述用户信息将所述Session对象设置为已登录状态,包括:
将所述用户信息写入Session对象的用户属性中。
5.根据权利要求1所述的方法,其特征在于,所述利用令牌认证服务接口对登录令牌进行验证,包括:
令牌认证服务接口从所述Session对象中获取目标登录令牌;
确定所述访问请求携带的登录令牌与所述目标登录令牌是否匹配;
若所述访问请求携带的登录令牌与目标登录令牌匹配,确定登录令牌通过验证。
6.根据权利要求1所述的方法,其特征在于,在所述利用令牌认证服务接口对所述登录令牌进行验证之前,还包括:
采用Feign接口规范开发令牌认证服务接口;
将所述令牌认证服务接口接入所述客户端,以利用所述令牌认证服务接口对登录令牌进行验证。
7.一种访问请求认证装置,其特征在于,包括:
请求接收模块,用于接收客户端发送的针对第一业务接口的访问请求,所述访问请求携带有登录令牌;
登录检查模块,用于利用登录认证过滤器检查与所述访问请求对应的Session对象是否被设置为已登录状态;
令牌验证模块,用于若不是已登录状态,利用令牌认证服务接口对所述登录令牌进行验证;
状态设置模块,用于若所述登录令牌通过验证,从数据库中获取目标用户的用户信息,利用所述用户信息将所述Session对象设置为已登录状态,所述目标用户是指发出访问请求的用户;
权限检查模块,用于利用授权认证过滤器检查所述目标用户是否具备访问第一业务接口的访问权限,若没有访问权限则拒绝访问第一业务接口;
所述Session对象包括登录令牌以及用户信息;
所述登录检查模块,还具体用于:
确定所述Session对象中是否存在登录令牌以及用户信息;
若登录令牌以及用户信息均存在,确定Session对象被设置为已登录状态;
若登录令牌或者用户信息不存在,确定Session对象未被设置为已登录状态。
8.一种访问请求认证系统,其特征在于,所述系统包括:登录服务器、客户端以及业务服务器;
所述登录服务器在目标用户登录服务器时生成登录令牌,将目标用户的用户信息以及生成的登录令牌存入Session对象中,将所述登录令牌返回至客户端;
所述客户端向所述业务服务器的第一业务接口发送携带所述登录令牌的访问请求;
所述业务服务器接收所述访问请求,执行如权利要求1至6任一项中所述的访问请求认证方法。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至6中任一项所述的访问请求认证方法的步骤。
CN202211411402.1A 2022-11-11 2022-11-11 一种访问请求认证方法、装置、系统及电子设备 Active CN115589333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211411402.1A CN115589333B (zh) 2022-11-11 2022-11-11 一种访问请求认证方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211411402.1A CN115589333B (zh) 2022-11-11 2022-11-11 一种访问请求认证方法、装置、系统及电子设备

Publications (2)

Publication Number Publication Date
CN115589333A CN115589333A (zh) 2023-01-10
CN115589333B true CN115589333B (zh) 2023-04-28

Family

ID=84782666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211411402.1A Active CN115589333B (zh) 2022-11-11 2022-11-11 一种访问请求认证方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN115589333B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847008A (zh) * 2016-03-18 2016-08-10 北京理工大学 一种匿名订购协议及其系统
CN106209749A (zh) * 2015-05-08 2016-12-07 阿里巴巴集团控股有限公司 单点登录方法及装置、相关设备和应用的处理方法及装置
CN106612246A (zh) * 2015-10-21 2017-05-03 星际空间(天津)科技发展有限公司 一种模拟身份的统一认证方法
CN110311895A (zh) * 2019-05-28 2019-10-08 深圳壹账通智能科技有限公司 基于身份验证的会话权限校验方法、系统及电子设备
EP4037358A1 (en) * 2021-01-29 2022-08-03 Quadient Technologies France Guest access management in a mobile application

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112794B2 (en) * 2006-07-17 2012-02-07 Research In Motion Limited Management of multiple connections to a security token access device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209749A (zh) * 2015-05-08 2016-12-07 阿里巴巴集团控股有限公司 单点登录方法及装置、相关设备和应用的处理方法及装置
CN106612246A (zh) * 2015-10-21 2017-05-03 星际空间(天津)科技发展有限公司 一种模拟身份的统一认证方法
CN105847008A (zh) * 2016-03-18 2016-08-10 北京理工大学 一种匿名订购协议及其系统
CN110311895A (zh) * 2019-05-28 2019-10-08 深圳壹账通智能科技有限公司 基于身份验证的会话权限校验方法、系统及电子设备
EP4037358A1 (en) * 2021-01-29 2022-08-03 Quadient Technologies France Guest access management in a mobile application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭勇;黄剑华;王喆;王全亮;王欢.分布式协同统一身份认证平台的设计与实现.软件工程.2020,(10),全文. *

Also Published As

Publication number Publication date
CN115589333A (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
US11138300B2 (en) Multi-factor profile and security fingerprint analysis
CN105491001B (zh) 一种安全通讯方法和装置
CN107124431B (zh) 鉴权方法、装置、计算机可读存储介质和鉴权系统
EP4161012A1 (en) Authentication method and apparatus, electronic device, server, program, and storage medium
CN103023918B (zh) 为多个网络服务统一提供登录的方法、系统和装置
CN103220344B (zh) 微博授权使用方法和系统
EP3005648B1 (en) Terminal identification method, and method, system and apparatus of registering machine identification code
CN107196950B (zh) 校验方法、装置及服务端
CN110278187B (zh) 多终端单点登录方法、系统、同步服务器及介质
CN107566382B (zh) 身份验证方法、服务平台、运营商认证网关及移动终端
CN106878250B (zh) 跨应用的单态登录方法及装置
CN109784031B (zh) 一种账户身份验证处理方法及装置
CN111030812A (zh) 令牌验证方法、装置、存储介质及服务器
CN109861968A (zh) 资源访问控制方法、装置、计算机设备及存储介质
CN110232265B (zh) 双重身份认证方法、装置及系统
JP7318108B2 (ja) 装置への安全な資格情報転送を認証するための方法およびシステム
CN111355713A (zh) 一种代理访问方法、装置、代理网关及可读存储介质
CN105162775A (zh) 虚拟机登陆方法及装置
CN105993156B (zh) 服务器访问验证方法以及装置
TW201909072A (zh) 電子帳戶的掛失、解掛、業務管理方法、裝置及設備
CN111431920A (zh) 一种基于动态令牌的安全控制方法及系统
CN111464534A (zh) 分布式系统中会话保持方法及装置
CN111241523B (zh) 认证处理方法、装置、设备和存储介质
CN112448956A (zh) 一种短信验证码的权限处理方法、装置和计算机设备
CN115589333B (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