CN111147453A - 系统登录方法以及集成登录系统 - Google Patents
系统登录方法以及集成登录系统 Download PDFInfo
- Publication number
- CN111147453A CN111147453A CN201911268164.1A CN201911268164A CN111147453A CN 111147453 A CN111147453 A CN 111147453A CN 201911268164 A CN201911268164 A CN 201911268164A CN 111147453 A CN111147453 A CN 111147453A
- Authority
- CN
- China
- Prior art keywords
- token
- gateway
- user terminal
- server
- identity authentication
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种系统登录方法以及集成登录系统,以实现身份认证服务器与应用服务器解耦,以及身份认证服务器与用户终端解耦。该方法包括:所述网关在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态;若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据;若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
Description
技术领域
本公开涉及网络技术领域,具体地,涉及一种系统登录方法以及集成登录系统。
背景技术
在信息技术的发展过程中,企业会根据用户或自身的需求不断地构建、开发各种软件系统,例如,企业先开发了订单系统,然后根据需求,后续可以开发库存系统、财务结算系统等等。
为了集中,高效,便利的管理或使用各互相独立的系统,可以将各系统进行集成或整合。集成后的系统,可以使各独立的系统相互关联,从而实现对多个系统的统一管理、使用。相关技术中,可以通过浏览器访问不同的系统,并可以通过浏览器实现在不同的系统之间进行切换的操作。但是,原本相互独立的系统集成为一个系统之后,需要分别登录各个被集成的系统之后,才能访问对应的被集成系统。这种方式,不便于在各个被集成系统之间进行切换。为解决这一问题,单点登录机制应运而生,而单点登录(Single Sign On,简称SSO)是指在多个应用集成的环境中,用户只需登陆一次就可以访问所有被集成的应用的一种机制。
例如,采用单点登录机制的CAS(全称:Central Authentication Service)服务器,其认证中心通过验证客户端的身份,以将客户端的请求转发至对应的应用服务器(资源服务器)获取资源,并将从应用服务器获取的资源返回给该客户端,即是说,CAS服务器是连接客户端与服务端的中转站。
发明内容
本公开的目的是提供一种系统登录方法以及集成登录系统,以实现身份认证服务器与应用服务器解耦,以及身份认证服务器与用户终端解耦。
为了实现上述目的,根据本公开实施例的第一方面,提供一种系统登录方法,应用于集成登录系统,所述集成登录系统包括身份认证服务器以及与所述身份认证服务器相连的网关,所述方法包括:
所述网关在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态;
若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据;
若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
可选地,所述方法还包括:
根据配置指令对所述网关的服务配置文件进行配置,其中,所述网关的服务配置文件包括所述身份认证服务器地址,多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
可选地,所述方法还包括:
所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
可选地,所述方法还包括:所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器;
所述根据所述网关存储的令牌对所述请求中的会话信息进行验证,包括:确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
可选地,所述将所述令牌存入Redis服务器时,还包括:设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌;或者,
所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器,包括:
若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌。
根据本公开实施例的第二方面,提供一种集成登录系统,所述集成登录系统包括:
身份认证服务器,与所述身份认证服务器相连的网关,所述网关用于与多个能够统一登录的系统相连;
所述网关用于:在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态;
若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据;
若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
可选地,所述网关包括配置模块,所述配置模块用于,根据配置指令对所述网关的服务配置文件进行配置,所述网关的服务配置文件包括所述身份认证服务器地址,所述多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
可选地,所述网关还用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
可选地,所述网关还用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器;
所述根据所述网关存储的令牌对所述请求中的会话信息进行验证时,所述网关用于,确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
可选地,所述网关还用于,在所述将所述令牌存入Redis服务器时,设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌;或者,
所述网关还用于,在将所述令牌存入Redis服务器之前,若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌。
通过上述技术方案,至少能够达到如下技术效果:
网关在接收到用户终端访问应用服务器的请求时,根据该网关存储的令牌对该请求中的会话信息进行验证,若验证成功,则表明该用户终端处于已登录状态;若验证失败,则表明该用户终端处于未登录状态;在验证成功时,将该请求转发至对应的应用服务器,以获取与该请求对应的资源数据;在验证失败时,引导该用户终端在身份认证服务器上进行登录,并在该用户终端成功登录后,接收该身份认证服务器发送的令牌,以及对该令牌进行存储。如此,可以实现身份认证服务器与应用服务器解耦,以及身份认证服务器与用户终端解耦。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种系统登录方法的流程图。
图2是根据本公开一示例性实施例示出的另一种系统登录方法的流程图。
图3是根据本公开一示例性实施例示出的另一种系统登录方法的流程图。
图4是根据本公开一示例性实施例示出的一种集成登录系统的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在信息技术的发展过程中,企业会根据用户或自身的需求不断地构建、开发各种软件系统,例如,企业先开发了订单系统,然后根据需求,后续可以开发库存系统、财务结算系统等等。
为了集中,高效,便利的管理或使用各互相独立的系统,可以将各系统进行集成或整合。集成后的系统,可以使各独立的系统相互关联,从而实现对多个系统的统一管理、使用。相关技术中,可以通过浏览器访问不同的系统,并可以通过浏览器实现在不同的系统之间进行切换的操作。但是,原本相互独立的系统集成为一个系统之后,需要分别登录各个被集成的系统之后,才能访问对应的被集成系统。这种方式,不利于在各个被集成系统之间进行切换。试想,当用户只登录了集成系统中的订单系统,若该用户想要访问该集成系统中的购物车系统,此时由于未登录该购物车系统,那么是无法从订单系统切换到购物车系统的。为解决这一问题,单点登录机制应运而生,而单点登录(Single Sign On,简称SSO)是指在多个应用集成的环境中,用户只需登陆一次就可以访问所有被集成的应用的一种机制。
相关技术中,例如采用单点登录机制的CAS服务器,其认证中心通过验证客户端的身份,以将客户端的请求转发至对应的应用服务器获取资源,并将从应用服务器获取的资源返回给该客户端,即是说,CAS服务器是连接客户端与服务端的中转站。
正因为CAS单点登录的中转原理,采用这种方式,需要在CAS服务器上和被集成的子系统上,以及被集成的子系统的应用服务器上分别配置相关服务配置文件。例如,需要在CAS服务器中的CAS Server端与应用服务器配置相同的路由配置文件;再例如,需要在CAS服务器中的CAS Client端配置与客户端相同的定向URL地址等服务配置文件。
在一种可能的情况下,若集成系统需要更换新的CAS服务器,那么需要分别在该新的CAS服务器,被集成的各个子系统,以及被集成的子系统的应用服务器上分别更新配置文件。如此可见,采用这种方式,若更换新的身份认证服务器,那么需要更新较多的配置文件,这使得人工成本高。此外,由于需要在身份认证服务器,客户端,以及应用服务器上分别更新配置文件,因此,在更新配置文件后,需要重启身份认证服务器,客户端,以及应用服务器。
有鉴于此,本公开实施例提供一种系统登录方法以及集成登录系统,以实现身份认证服务器与应用服务器解耦,以及实现身份认证服务器与用户终端解耦,从而解决相关技术中存在的问题。
为了使本领域技术人员更加容易理解本公开实施例的技术方案,下面首先对本公开实施例的应用背景以及应用条件进行简要说明。
需说明的是,在计算机技术中,令牌是Token的中文翻译。会话令牌是服务器与客户端进行交互时的唯一身份标识符。Token是在输入了用户名和密码之后由登录服务器生成的,该Token表征登录该账号的客户端拥有查看或者操作相应的资源的权限。
下面通过如下示例对CAS原理进行简要说明:
假设有被集成的子系统A和子系统B,以及身份认证中心C。当用户第一次请求访问集成系统中的子系统A时,身份认证中心C截获此请求,并对该请求进行身份认证(亦或权限认证);若认证发现该用户未登录A系统,则身份认证中心C引导该用户到登录页面进行登录;身份认证中心C在验证该用户输入的账号和密码正确时,使该账号与认证中心C建立全局会话,同时生成一份Token,并将该Token缓存在身份认证中心C上;随后身份认证中心C将Token定向转发给子系统A,并将Token写入用户当前使用的终端设备的浏览器的Cookie中;子系统A携带该Token定向去身份认证中心C验证该Token是否正确;若身份认证中心C验证子系统A携带来的Token是正确的,则建立子系统A与该账号的局部会话,此时子系统A已经处于登录状态。
接着,此时若该用户请求访问子系统B,则在该请求中携带有浏览器上存储的Cookie;身份认证中心C截获此请求,根据请求中的Cookie信息,会发现该用户的该账号已经与身份认证中心C建立了全局会话,因此,身份认证中心C重新定向回到子系统B,并将之前生成的Token带给B系统;然后B系统携带该Token去身份认证中心C验证该Token是否正确,此时若身份认证中心C验证子系统B携带来的Token是正确的,则建立子系统B与该账号的局部会话,此时,子系统B已经处于登录状态。
基于上述原理,在本公开中,集成系统中的各个子系统采用同一个身份认证服务器进行身份认证或者说是采用同一个身份认证服务器进行登录认证。此外需说明的是,由于用户在登录时,是建立该用户账号与认证服务器的全局会话,因此,在本公开中,默认各个被集成之前的子系统使用的是同一套账号密码。例如,一个用户使用被集成之前的系统A和B时,使用同样的账号密码来分别登录系统A和B;而在该用户登录系统A和B被集成之后的集成系统时,则使用该账号密码登录该集成登录系统,以使得可以在子系统A和子系统B之间进行切换。
下面对本公开实施例的技术方案进行详细说明。
本公开实施例提供一种系统登录方法,应用于集成登录系统,所述集成登录系统包括身份认证服务器以及与所述身份认证服务器相连的网关,如图1所示,所述方法包括:
S101、所述网关在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态。
不难理解的是,当用户在终端设备上使用应用软件的功能时,实际上可以说是用户终端与应用服务器之间的数据交互过程。具体地,用户在应用软件上的每一步操作都对应生成一个操作请求,而应用服务器基于该操作请求,将用户请求的数据返回给该终端设备,如此便实现该应用软件的功能。
而出于信息安全的考虑,在用户终端与应用服务器进行数据交互时,服务器会对该用户终端进行权限认证,以确定该用户终端是否可以访问对应的受保护的数据资源。因此,在用户终端发出访问受保护的数据资源的请求时,会在请求会话的信息中提供该用户终端的当前用户的身份信息。
相关技术中,通过身份认证服务器对用户终端的身份进行登录认证,在用户终端成功登录后,允许该用户终端与应用服务器进行数据交互。而在本公开实施例中,通过网关来对用户终端的权限进行验证。具体地,网关在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,若验证成功则表明所述用户终端处于已登录状态,若验证失败表明所述用户终端处于未登录状态。
S102、若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据。
应当理解的是,用户终端发出的请求是指请求进行会话,以获得用户终端当前操作所对应的数据资源。在网关验证该请求携带的会话信息中的表征用户身份的信息时,若确定验证成功,则表明该用户具有获取对应数据的权限,此时,则将该请求转发至对应的应用服务器获取对应的数据资源。
S103、若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
若在网关验证该请求携带的会话信息中的表征用户身份的信息失败时,则说明该用户当前是没有访问对应数据的权限。而用户没有访问受限资源数据的权限时,一般是因为以下两种原因:一是该用户没有进行登录;二是因为该用户没有被授权访问该数据资源。
不难理解的是,在用户终端的用户不处于登录状态时,应当引导该用户在用户终端上进行登录操作。在一种可实现的实施方式中,若网关验证用户终端处于未登录状态时,则指示该用户终端进行登录操作,并在该用户终端成功登录对应的身份认证服务器时,身份认证服务器会生成一个令牌以作为该用户终端的用户的身份标识,并将该令牌发送给网关。网关对该令牌进行存储,以使得网关再次接收到该用户终端的请求时,根据该令牌对该请求中的会话信息进行验证,以确定该用户终端是否已经处于登录状态。
采用这种方法,网关在接收到用户终端访问应用服务器的请求时,根据该网关存储的令牌对该请求中的会话信息进行验证,若验证成功,则表明该用户终端处于已登录状态;若验证失败,则表明该用户终端处于未登录状态;在验证成功时,将该请求转发至对应的应用服务器,以获取与该请求对应的资源数据;在验证失败时,引导该用户终端在身份认证服务器上进行登录,并在该用户终端成功登录后,接收该身份认证服务器发送的令牌,以及对该令牌进行存储。与相关技术中的方法相比,上述方法实现了身份认证服务器与应用服务器解耦,以及身份认证服务器与用户终端解耦。避免了在身份认证服务器与应用服务器和用户终端直接相连的架构下,存在的更换服务器时工作量大的问题。
进一步地,采用本公开实施例这种方式,在更换新的身份认证服务器时,可以有效降低更换服务器带来的工作量,减少人工成本。例如,在一种可能的实施方式中,可以根据配置指令对所述网关的服务配置文件进行配置,其中,所述网关的服务配置文件包括所述身份认证服务器地址,多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
示例地,若将身份认证服务器由Oauth2服务器更换为CAS服务器,则根据配置指令对网关中的服务配置文件进行配置,例如将网关服务配置文件中的Oauth2服务器的地址更换为CAS服务器的地址。在这种情况下,只需要通过更改网关中的服务配置文件便可实现更换身份认证服务器,而无需像相关技术中的需对身份认证服务器、应用服务器以及用户终端的配置进行更改,可见本公开的这种方式与相关技术的方式相比较,在更换新的身份认证服务器时减少了配置更改的工作量。
进一步地,不难理解的是,采用本公开实施例的这种方式,由于更换身份认证服务器时,只需要对网关中的服务配置文件进行更改。因此,在更换身份认证服务器之后,无需重启用户终端以及应用服务器,只重启网关即可。
再示例地,假设当前的集成系统中集成有系统A和系统B,此时,若要在该集成系统中新集成系统C,那么,只需要将系统C的地址添加至网关的服务配置文件中即可。若该系统C有自己独立的应用服务器,那么同样地,也只需要在网关中添加对应的应用服务器的地址即可。
此处值得说明的是,网关中的服务配置文件中的相关配置,应当理解为身份认证服务器、应用服务器、用户终端的公用配置;或者理解为身份认证服务器与应用服务器的公用配置或路由配置,以及身份认证服务器与用户终端的公用配置。进一步地,网关的服务配置适用于用户终端上的集成系统中的各个子系统。
图2是根据本公开一示例性实施例示出的另一种系统登录方法,如图2所示,该方法包括步骤S101至S104,其中步骤S101至S103与图1所示的步骤相同。
S104、所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
应当理解的是,当身份认证服务器生成令牌后,会将该令牌发送给对应的用户终端,以将该令牌存储在该用户终端的会话信息中,例如存在用户终端的Session中,或者SessionStroage中。
采用这种方式,通过网关将身份认证服务器发送的令牌转发至用户终端,与相关技术中的通过身份认证服务器直接将令牌转发至用户终端的方式不同,本公开的这种方式,实现了身份认证服务器与用户终端的解耦。
在一种可实现的实施方式中,所述网关在接收到所述身份认证服务器发送的令牌后,可以将所述令牌存入Redis服务器。
应当理解的是,在身份认证服务器生成令牌时,会将该令牌存入该身份认证服务器上的Session中。而本公开中,将身份认证服务器生成的令牌存入Redis中,具体地,网关在接收到身份认证服务器发送的令牌后,将该令牌存入Session中,然后将该Session存入Redis中。亦或者,在身份认证服务器生成令牌时,将该令牌存入Session,然后将该Session发送给网关,网关再将该Session存入Redis。
此处需说明的是,Redis全称REmoteDIctionary Server,可称为数据结构服务器,是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。采用Redis存储令牌,有利于在项目出现高并发时,可以通过负载均衡来进行处理。
在一种可实现的实施方式中,所述根据所述网关存储的令牌对所述请求中的会话信息进行验证,包括:确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
当用户终端进行登录后处于登录状态时,在Redis服务器中存储有表征该用户终端的身份的令牌。那么在网关接收到用户终端访问应用服务器的请求时,通过将请求中携带的令牌与Redis服务器中的有效令牌相比较,便可以确定该用户终端是否处于登录状态。
在一种可能的情况下,用户1使用账号X在手机终端上进行了登录,并且一直处于登录状态,此时Redis服务器中对应存储有令牌1。此时,另一个用户2也使用账号X在电脑终端进行登录,那么,此时,身份认证服务器会对该账号X生成一个新的令牌2。在这种情况下,网关可以根据接收到的新的令牌2去判断是否出现顶号的现象。当出现顶号的现象时,可以根据需求在网关上进行相关的功能设置。例如,在出现顶号时,提示用户1出现异常顶号的提示,并使得用户2不能成功登录。再例如,在出现顶号时,直接使得用户1退出登录状态,并使得用户2成功登录。
具体可以采用如下方式判断是否出现顶号现象:网关通过比较令牌1与令牌2中的关联账号是否为相同的账号,若为相同账号,则确定出现顶号现象。
在另一种可能的实施方式中,所述将所述令牌存入Redis服务器时,还包括:设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌。
不难理解的是,设置令牌的有效期限,可以使得在该期限内,该令牌有效,超出该期限,该令牌失效。而当用户终端的请求中的令牌是超出有效期限的令牌时,指示该用户终端重新进行登录。
所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器,包括:若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌;或者,所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器时,包括:若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌,并重新设置所述令牌的有效期限;
在一种可能的情况下,当用户终端的请求中的令牌是超出有效期限的令牌时,指示该用户终端重新进行登录,以获取新的令牌。此时,在Redis服务器中存在与该用户终端的当前账号相关联的,并与该网关当前接收到的新的令牌不相同的失效令牌,这种情况下,可以将Redis服务器中的与该账号相关联的失效令牌更新为该新的令牌。在一种可能的实施方式中,在更新令牌后,可以设置该新的令牌的有效期限。
采用这种方式,便于灵活的处理顶号现象,也可以灵活的设置Redis服务器中令牌的有效期,通过设置Redis服务器中令牌的有效期,可以进一步地实现自动登录功能。如此,既能保障账号的安全性,也便于用户的使用。
此处值得说明的是,在本公开中除了用Redis存储令牌之外,还可以用其他的数据库存储令牌。
图3是根据本公开一示例性实施例示出的另一种系统登录方法,如图3所示,该方法包括:
S301、网关接收到用户终端的登录请求时,引导该用户终端在身份认证服务器上进行登录。
在一种可能的情况下,可以根据用户终端的请求中的会话信息,判断该用户终端是否登录,例如,若该请求携带的会话信息中的Cookie的值为空时,表征该用户终端还未进行登录,则此时网关直接引导该用户终端进行登录。
S302、在用户终端成功登录后,网关将身份认证服务器发送的令牌存储到Redis服务器中,并将该令牌发送给该用户终端,以使该用户终端将令牌存入会话信息中。
S303、网关在接收到用户终端访问应用服务器的请求时,根据Redis服务器存储的令牌对该请求中的会话信息进行验证。
S304、若验证成功,则将该请求转发至对应的应用服务器,以获取与所述请求对应的数据,并将该数据转发给该客户端。
S305、若验证失败,则指示所述用户终端在所述身份认证服务器上重新进行登录。
S306、网关将身份认证服务器发送的令牌存储到Redis服务器时,设置所述令牌的有效期限。
关于上述方法中的步骤,其中各个步骤的具体实施方式已经在有关该方法的上述实施例中进行了详细描述,此处将不做赘述。
采用这种方法,通过网关实现身份认证服务器与应用服务器解耦,以及身份认证服务器与用户终端解耦。这种方式,在更换新的身份认证服务器时,可以有效降低更换服务器时产生的工作量,减少人工成本。并且可以避免重启客户端以及应用服务器的操作。对于用户而言,在更换新的身份认证服务器时,这种集成登录系统架构将使得用户更加容易更改相关配置,避免在身份认证服务器、应用服务器以及用户终端上找不到配置路径的问题。
基于同一发明构思,本公开实施例还提供一种集成登录系统,如图4所示,该系统100包括:身份认证服务器110,与所述身份认证服务器110相连的网关120,所述网关120用于与多个能够统一登录的系统相连(图4中以系统A和系统B进行示例);所述网关120用于:在接收到用户终端200访问应用服务器300的请求时,根据所述网关120存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端200处于已登录状态,验证失败表明所述用户终端200处于未登录状态;若验证成功,则将所述请求转发至所述应用服务器300,以获取与所述请求对应的数据;若验证失败,则指示所述用户终端200在所述身份认证服务器110上进行登录,并在所述用户终端200成功登录后,接收所述身份认证服务器110发送的令牌,以及对所述身份认证服务器110发送给所述网关120的令牌进行存储。
值得说明的是,在用户终端上的集成系统中集成有多个系统,例如图4中的系统A和系统B。上述用户终端200访问应用服务器300的请求,应当理解为用户终端200上的集成系统中的系统A或者系统B发起的会话请求。在本公开中,由于将系统A和系统B集成为一个系统放在用户终端200上,因此,不管网关120接收到的用户终端200访问应用服务器300的请求是通过系统A发起的还是系统B发起的,都可以统一描述为用户终端200发起的请求。
同理,上述用户终端200处于已登录状态,应当理解为该用户终端上的集成系统处于已登录状态。本领域普通技术人员不难理解的是,用户使用正确的账号密码使得用户终端200在身份认证服务器110上成功登录之后,用户终端200当前使用的账号是处于登录状态的,即可以说用户终端200是处于登录状态的。
应用服务器300包括多个应用服务器,例如图4中的对应于系统A的应用服务器A,对应于系统B的应用服务器B。不难理解的是,在系统A和系统B被集成之前,可以分别使用自己独立的应用服务器。在系统A和系统B被集成之后,网关120根据该用户终端200发起的请求,可以从对应的应用服务器300中获取相应的数据资源并反馈回用户终端200。示例地,用户终端200中的系统A发起请求,网关120根据系统A发起的请求从应用服务器300的应用服务器A中获取数据资源,然后网关120将获取到的数据资源返回给用户终端200上的系统A,以在系统A的显示界面进行显示。
所述网关120包括配置模块,所述配置模块用于,根据配置指令对所述网关的服务配置文件进行配置,所述网关的服务配置文件包括所述身份认证服务器地址,所述多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
采用上述集成登录系统,使得网关在接收到用户终端访问应用服务器的请求时,根据该网关存储的令牌对该请求中的会话信息进行验证,若验证成功,则表明该用户终端处于已登录状态;若验证失败,则表明该用户终端处于未登录状态;在验证成功时,将该请求转发至对应的应用服务器,以获取与该请求对应的资源数据;在验证失败时,引导该用户终端在身份认证服务器上进行登录,并在该用户终端成功登录后,接收该身份认证服务器发送的令牌,以及对该令牌进行存储。与相关技术中的方法相比,上述集成登录系统通过在身份认证服务器与应用服务器之间添加网关以实现两者解耦,以及在身份认证服务器与用户终端之间添加网关以实现两者解耦。解耦之后的集成登录系统在更换新的身份认证服务器时,可以有效降低更换服务器时产生的工作量,减少人工成本。并且,对于用户而言,在更换新的身份认证服务器时,这种集成登录系统架构将使得用户更加容易更改相关配置,避免在身份认证服务器、应用服务器以及用户终端上找不到配置路径的问题。
可选地,所述网关120用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
可选地,所述网关120用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器;
所述根据所述网关存储的令牌对所述请求中的会话信息进行验证时,所述网关用于,确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
可选地,所述网关120用于,在所述将所述令牌存入Redis服务器时,设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌;或者,
所述网关用于,在将所述令牌存入Redis服务器之前,若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种系统登录方法,其特征在于,应用于集成登录系统,所述集成登录系统包括身份认证服务器以及与所述身份认证服务器相连的网关,所述方法包括:
所述网关在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态;
若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据;
若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据配置指令对所述网关的服务配置文件进行配置,其中,所述网关的服务配置文件包括所述身份认证服务器地址,多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器;
所述根据所述网关存储的令牌对所述请求中的会话信息进行验证,包括:确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
5.根据权利要求4所述的方法,其特征在于,所述将所述令牌存入Redis服务器时,还包括:设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌;或者,
所述网关在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器,包括:
若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌。
6.一种集成登录系统,其特征在于,所述集成登录系统包括:
身份认证服务器,与所述身份认证服务器相连的网关,所述网关用于与多个能够统一登录的系统相连;
所述网关用于:在接收到用户终端访问应用服务器的请求时,根据所述网关存储的令牌对所述请求中的会话信息进行验证,其中,验证成功表明所述用户终端处于已登录状态,验证失败表明所述用户终端处于未登录状态;
若验证成功,则将所述请求转发至所述应用服务器,以获取与所述请求对应的数据;
若验证失败,则指示所述用户终端在所述身份认证服务器上进行登录,并在所述用户终端成功登录后,接收所述身份认证服务器发送的令牌,以及对所述身份认证服务器发送给所述网关的令牌进行存储。
7.根据权利要求6所述的系统,其特征在于,所述网关包括配置模块,所述配置模块用于,根据配置指令对所述网关的服务配置文件进行配置,所述网关的服务配置文件包括所述身份认证服务器地址,所述多个能够统一登录的系统的地址,以及分别与所述多个能够统一登录的系统相对应的应用服务器的地址。
8.根据权利要求6所述的系统,其特征在于,所述网关用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌转发至所述用户终端,以使所述用户终端将所述令牌存入会话信息中。
9.根据权利要求6所述的系统,其特征在于,所述网关用于,在接收到所述身份认证服务器发送的令牌后,将所述令牌存入Redis服务器;
所述根据所述网关存储的令牌对所述请求中的会话信息进行验证时,所述网关用于,确定所述Redis服务器中是否存储有与所述会话信息中的令牌相一致的有效令牌,其中,若存在所述有效令牌,则表明验证成功,若不存在所述有效令牌,则表明验证失败。
10.根据权利要求9所述的系统,其特征在于,所述网关用于,在所述将所述令牌存入Redis服务器时,设置所述令牌的有效期限,所述有效令牌为处于有效期限内的令牌;或者,
所述网关用于,在将所述令牌存入Redis服务器之前,若所述Redis服务器中存在与所述用户终端的当前账号相关联的,并与所述网关当前接收到的令牌不相同的令牌,则更新所述Redis服务器中的与该账号相关联的令牌。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268164.1A CN111147453A (zh) | 2019-12-11 | 2019-12-11 | 系统登录方法以及集成登录系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911268164.1A CN111147453A (zh) | 2019-12-11 | 2019-12-11 | 系统登录方法以及集成登录系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111147453A true CN111147453A (zh) | 2020-05-12 |
Family
ID=70518117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911268164.1A Pending CN111147453A (zh) | 2019-12-11 | 2019-12-11 | 系统登录方法以及集成登录系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147453A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711641A (zh) * | 2020-07-10 | 2020-09-25 | 北京亚鸿世纪科技发展有限公司 | 浏览器和服务器架构身份认证令牌的状态控制方法与装置 |
CN112039889A (zh) * | 2020-08-31 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 免密码登录方法、装置、设备及存储介质 |
CN112364334A (zh) * | 2020-11-09 | 2021-02-12 | 成都卫士通信息产业股份有限公司 | 单点登录方法、装置及电子设备和存储介质 |
CN112422533A (zh) * | 2020-11-05 | 2021-02-26 | 杭州米络星科技(集团)有限公司 | 用户访问网络的验证方法、装置及电子设备 |
CN112491890A (zh) * | 2020-11-27 | 2021-03-12 | 中国农业银行股份有限公司 | 一种访问方法及装置 |
CN112632491A (zh) * | 2020-12-15 | 2021-04-09 | 读书郎教育科技有限公司 | 一种实现多信息系统共用账号体系的方法 |
CN112685719A (zh) * | 2020-12-29 | 2021-04-20 | 武汉联影医疗科技有限公司 | 单点登录方法、装置、系统、计算机设备和存储介质 |
CN112995131A (zh) * | 2021-02-01 | 2021-06-18 | 北京拉勾网络技术有限公司 | 一种页面登录方法、系统及计算设备 |
CN113065160A (zh) * | 2021-04-12 | 2021-07-02 | 浙江环玛信息科技有限公司 | 智慧法院数据传输方法及系统 |
CN113259342A (zh) * | 2021-05-11 | 2021-08-13 | 鸬鹚科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及介质 |
CN113301050A (zh) * | 2021-05-26 | 2021-08-24 | 重庆紫光华山智安科技有限公司 | 网页页面多用户实时登录登出管理方法、系统、终端及介质 |
CN113347163A (zh) * | 2021-05-20 | 2021-09-03 | 远景智能国际私人投资有限公司 | 单点登录方法、装置、设备及介质 |
CN113630253A (zh) * | 2021-08-11 | 2021-11-09 | 中国工商银行股份有限公司 | 登录方法、装置、计算机系统及可读存储介质 |
CN114389864A (zh) * | 2021-12-28 | 2022-04-22 | 西安四叶草信息技术有限公司 | 数据认证方法及系统 |
CN114430340A (zh) * | 2021-12-24 | 2022-05-03 | 天翼云科技有限公司 | 一种跨域单点登录方法、装置及设备 |
CN114500031A (zh) * | 2022-01-21 | 2022-05-13 | 浙江惠瀜网络科技有限公司 | 基于单点登录获取bi报表的系统、方法、电子设备及介质 |
CN114650147A (zh) * | 2020-12-02 | 2022-06-21 | 成都鼎桥通信技术有限公司 | 登录方法及设备 |
CN114900344A (zh) * | 2022-04-26 | 2022-08-12 | 四川智能建造科技股份有限公司 | 一种身份认证方法、系统、终端及计算机可读存储介质 |
CN115834207A (zh) * | 2022-11-23 | 2023-03-21 | 紫光云技术有限公司 | 一种基于网关实现跨应用集成的方法 |
CN114500031B (zh) * | 2022-01-21 | 2024-06-04 | 浙江惠瀜网络科技有限公司 | 基于单点登录获取bi报表的系统、方法、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340525B1 (en) * | 2003-01-24 | 2008-03-04 | Oracle International Corporation | Method and apparatus for single sign-on in a wireless environment |
US20140373121A1 (en) * | 2013-06-18 | 2014-12-18 | Bank Of America Corporation | System and method for providing internal services to external enterprises |
CN107493280A (zh) * | 2017-08-15 | 2017-12-19 | 中国联合网络通信集团有限公司 | 用户认证的方法、智能网关及认证服务器 |
CN108512784A (zh) * | 2018-06-21 | 2018-09-07 | 珠海宏桥高科技有限公司 | 基于网关路由转发的鉴权认证方法 |
US20190253408A1 (en) * | 2018-02-13 | 2019-08-15 | Vmware, Inc. | Mechanism of passing security tokens through both untrusted and validating intermediaries |
-
2019
- 2019-12-11 CN CN201911268164.1A patent/CN111147453A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340525B1 (en) * | 2003-01-24 | 2008-03-04 | Oracle International Corporation | Method and apparatus for single sign-on in a wireless environment |
US20140373121A1 (en) * | 2013-06-18 | 2014-12-18 | Bank Of America Corporation | System and method for providing internal services to external enterprises |
CN107493280A (zh) * | 2017-08-15 | 2017-12-19 | 中国联合网络通信集团有限公司 | 用户认证的方法、智能网关及认证服务器 |
US20190253408A1 (en) * | 2018-02-13 | 2019-08-15 | Vmware, Inc. | Mechanism of passing security tokens through both untrusted and validating intermediaries |
CN108512784A (zh) * | 2018-06-21 | 2018-09-07 | 珠海宏桥高科技有限公司 | 基于网关路由转发的鉴权认证方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711641A (zh) * | 2020-07-10 | 2020-09-25 | 北京亚鸿世纪科技发展有限公司 | 浏览器和服务器架构身份认证令牌的状态控制方法与装置 |
CN112039889A (zh) * | 2020-08-31 | 2020-12-04 | 康键信息技术(深圳)有限公司 | 免密码登录方法、装置、设备及存储介质 |
CN112039889B (zh) * | 2020-08-31 | 2022-11-29 | 康键信息技术(深圳)有限公司 | 免密码登录方法、装置、设备及存储介质 |
CN112422533A (zh) * | 2020-11-05 | 2021-02-26 | 杭州米络星科技(集团)有限公司 | 用户访问网络的验证方法、装置及电子设备 |
CN112364334A (zh) * | 2020-11-09 | 2021-02-12 | 成都卫士通信息产业股份有限公司 | 单点登录方法、装置及电子设备和存储介质 |
CN112491890A (zh) * | 2020-11-27 | 2021-03-12 | 中国农业银行股份有限公司 | 一种访问方法及装置 |
CN114650147A (zh) * | 2020-12-02 | 2022-06-21 | 成都鼎桥通信技术有限公司 | 登录方法及设备 |
CN112632491A (zh) * | 2020-12-15 | 2021-04-09 | 读书郎教育科技有限公司 | 一种实现多信息系统共用账号体系的方法 |
CN112685719A (zh) * | 2020-12-29 | 2021-04-20 | 武汉联影医疗科技有限公司 | 单点登录方法、装置、系统、计算机设备和存储介质 |
CN112995131B (zh) * | 2021-02-01 | 2023-04-07 | 北京拉勾网络技术有限公司 | 一种页面登录方法、系统及计算设备 |
CN112995131A (zh) * | 2021-02-01 | 2021-06-18 | 北京拉勾网络技术有限公司 | 一种页面登录方法、系统及计算设备 |
CN113065160A (zh) * | 2021-04-12 | 2021-07-02 | 浙江环玛信息科技有限公司 | 智慧法院数据传输方法及系统 |
CN113259342A (zh) * | 2021-05-11 | 2021-08-13 | 鸬鹚科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及介质 |
CN113347163A (zh) * | 2021-05-20 | 2021-09-03 | 远景智能国际私人投资有限公司 | 单点登录方法、装置、设备及介质 |
CN113347163B (zh) * | 2021-05-20 | 2023-05-16 | 远景智能国际私人投资有限公司 | 单点登录方法、装置、设备及介质 |
CN113301050A (zh) * | 2021-05-26 | 2021-08-24 | 重庆紫光华山智安科技有限公司 | 网页页面多用户实时登录登出管理方法、系统、终端及介质 |
CN113630253A (zh) * | 2021-08-11 | 2021-11-09 | 中国工商银行股份有限公司 | 登录方法、装置、计算机系统及可读存储介质 |
CN114430340A (zh) * | 2021-12-24 | 2022-05-03 | 天翼云科技有限公司 | 一种跨域单点登录方法、装置及设备 |
CN114389864A (zh) * | 2021-12-28 | 2022-04-22 | 西安四叶草信息技术有限公司 | 数据认证方法及系统 |
CN114389864B (zh) * | 2021-12-28 | 2024-05-24 | 西安四叶草信息技术有限公司 | 数据认证方法及系统 |
CN114500031A (zh) * | 2022-01-21 | 2022-05-13 | 浙江惠瀜网络科技有限公司 | 基于单点登录获取bi报表的系统、方法、电子设备及介质 |
CN114500031B (zh) * | 2022-01-21 | 2024-06-04 | 浙江惠瀜网络科技有限公司 | 基于单点登录获取bi报表的系统、方法、电子设备及介质 |
CN114900344A (zh) * | 2022-04-26 | 2022-08-12 | 四川智能建造科技股份有限公司 | 一种身份认证方法、系统、终端及计算机可读存储介质 |
CN115834207A (zh) * | 2022-11-23 | 2023-03-21 | 紫光云技术有限公司 | 一种基于网关实现跨应用集成的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147453A (zh) | 系统登录方法以及集成登录系统 | |
US11683300B2 (en) | Tenant-aware distributed application authentication | |
CN106612290B (zh) | 一种面向系统集成的跨域单点登录方法 | |
US8032930B2 (en) | Segregating anonymous access to dynamic content on a web server, with cached logons | |
CN112261172B (zh) | 服务寻址访问方法、装置、系统、设备及介质 | |
CN113630377B (zh) | 托管移动设备的单点登录 | |
US20090249440A1 (en) | System, method, and apparatus for managing access to resources across a network | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
US11444954B2 (en) | Authentication/authorization server, client, service providing system, access management method, and medium | |
EP3226506A1 (en) | Authorization processing method, device and system | |
JP5723300B2 (ja) | サーバシステム、サービス提供サーバおよび制御方法 | |
CN113132402B (zh) | 单点登录方法和系统 | |
JPWO2011089712A1 (ja) | 認証方法、認証システムおよび認証プログラム | |
US11277404B2 (en) | System and data processing method | |
CN112887284B (zh) | 一种访问认证方法、装置、电子设备和可读介质 | |
CN105592035A (zh) | 一种用于多个应用系统的单点登录方法 | |
CN112491776B (zh) | 安全认证方法及相关设备 | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
US20180034809A1 (en) | Technique for connecting to a service | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN110365632B (zh) | 计算机网络系统中的认证方法、数据处理设备 | |
KR101824562B1 (ko) | 인증 게이트웨이 및 인증 게이트웨이의 인증 방법 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
EP3525411B1 (en) | Terminal authentication method and device |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |