CN110727935A - 单点登录方法、***、计算机设备和存储介质 - Google Patents
单点登录方法、***、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110727935A CN110727935A CN201910964775.3A CN201910964775A CN110727935A CN 110727935 A CN110727935 A CN 110727935A CN 201910964775 A CN201910964775 A CN 201910964775A CN 110727935 A CN110727935 A CN 110727935A
- Authority
- CN
- China
- Prior art keywords
- token
- server
- terminal
- domain name
- target
- 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.)
- Granted
Links
Images
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
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- 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
- G06F21/33—User authentication using certificates
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种单点登录方法、***、计算机设备和存储介质。所述单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;所述方法包括:所述别名服务器接收终端发送的请求登录所述目标应用程序的登录请求,所述登录请求携带所述后台服务器的第一域名和预先获取到的第一令牌;所述别名服务器根据预先设置的域名映射关系将所述第一域名映射到第二域名,并将所述第一令牌发送到所述第二域名对应的所述目标服务器;所述目标服务器对所述第一令牌进行令牌验证,并在所述第一令牌验证通过时访问所述后台服务器,以及将访问结果返回给所述终端。本发明实施例中,减轻了后台服务器的验证压力,可以应对高并发场景。
Description
技术领域
本申请涉及单点登录技术领域,特别是涉及一种单点登录方法、***、计算机设备和存储介质。
背景技术
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用***中,用户只需要登录一次就可以访问所有相互信任的应用***。
相关技术中,两个关联的应用程序,如果终端成功登录其中一个应用程序,该应用程序的后台服务器会给终端下发一个令牌。终端在登录另一个应用程序时,持该令牌到后台服务器处进行令牌验证即可,无需用户再次输入身份验证信息。
但是,如果遇到高并发场景,在后台服务器处进行令牌验证的登录请求过多,会导致后台服务器响应延迟,甚至会使后台服务器崩溃。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高服务器响应速度的单点登录方法、***、计算机设备和存储介质。
第一方面,本发明实施例提供了一种单点登录方法,应用于单点登录***中,单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;该方法包括:
别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;
别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;
目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
在其中一个实施例中,上述目标服务器对第一令牌进行令牌验证,包括:
目标服务器将第一令牌与预先存储的第二令牌进行比较;
若第一令牌与第二令牌一致,则确定令牌验证通过;
若第一令牌与第二令牌不一致,则确定令牌验证失败。
在其中一个实施例中,在上述目标服务器对第一令牌进行令牌验证之后,该方法还包括:
当令牌验证失败时,目标服务器生成登录页面,并将登录页面发送到终端。
在其中一个实施例中,单点登录***还包括鉴权服务器;在上述将登录页面发送到终端之后,该方法还包括:
鉴权服务器接收终端发送的登录页面的扫描信息;
在根据扫描信息确定扫描成功时,生成第三令牌;
将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
在其中一个实施例中,在上述将第三令牌分别发送到目标服务器和终端之后,该方法还包括:
别名服务器接收终端更新第一令牌后重新发送的登录请求。
在其中一个实施例中,上述根据扫描信息确定扫描成功,包括:
对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;
若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
在其中一个实施例中,在上述别名服务器接收终端发送的请求登录目标应用程序的登录请求之前,该方法还包括:
后台服务器接收终端发送的身份验证信息;
在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
第二方面,本发明实施例提供了一种单点登录***,单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;
别名服务器,用于接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;
目标服务器,用于对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
在其中一个实施例中,上述目标服务器,具体用于将第一令牌与预先存储的第二令牌进行比较;若第一令牌与第二令牌一致,则确定令牌验证通过;若第一令牌与第二令牌不一致,则确定令牌验证失败。
在其中一个实施例中,上述目标服务器,具体用于当令牌验证失败时,生成登录页面,并将登录页面发送到终端。
在其中一个实施例中,单点登录***还包括鉴权服务器;
鉴权服务器,用于接收终端发送的登录页面的扫描信息;在根据扫描信息确定扫描成功时,生成第三令牌;将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
在其中一个实施例中,别名服务器,还用于接收终端更新第一令牌后重新发送的登录请求。
在其中一个实施例中,鉴权服务器,具体用于对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
在其中一个实施例中,后台服务器,用于接收终端发送的身份验证信息;在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
第三方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法中的步骤。
上述单点登录方法、***、计算机设备和存储介质,别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。通过本发明实施例,终端在请求登录目标应用程序时,先由别名服务器进行域名映射确定目标服务器,然后由目标服务器来进行令牌验证,这样就减轻了后台服务器的验证压力,提高了后台服务器的响应速度;并且,目标服务器可以提供OpenResty服务,不仅处理速度快,而且可以支持的链接数量较多,因此可以应对高并发场景。
附图说明
图1为一个实施例中单点登录方法的应用环境图;
图2为一个实施例中单点登录方法的流程示意图;
图3为另一个实施例中单点登录方法的流程示意图;
图4为一个实施例中单点登录***的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的单点登录方法,可以应用于如图1所示的应用环境中。其中,终端101与单点登录***102通过网络进行通信。其中,单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;单点登录***可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种单点登录方法,以该方法应用于图1中的单点登录***为例进行说明,包括以下步骤:
步骤201,别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌。
本实施例中,终端需要登录目标应用程序时发出登录请求,由别名服务器接收终端发出的登录请求。例如,终端发送请求登录应用程序A的登录请求,别名服务器接收该登录请求。别名服务器在接收到登录请求后,对登录请求进行解析,从登录请求中解析出目标应用程序的后台服务器对应的第一域名和终端预先获取到的第一令牌。本发明实施例对登录请求的解析方式不作详细限定,可以根据实际情况进行设置。
在登录目标应用程序之前,终端已经预先成功登录了其他应用程序,获取到了第一令牌。其中,其他应用程序是与目标应用程序具有关联关系的应用程序。令牌(Token)是代表执行某些操作的权利的对象。例如,终端登录应用程序B后,获得了Token1,在登录与应用程序B具有关联关系的应用程序A时,可以在登录请求中携带Token1。
步骤202,别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器。
本实施例中,别名服务器根据预先设置的域名映射关系进行域名映射,该域名映射关系可以是CNAME记录。CNAME记录被称为别名记录,这种记录允许将多个名字映射到同一台计算机。别名服务器在得到第一域名后,将第一域名映射到第二域名。第二域名对应目标服务器,因此将第一令牌发送到目标服务器。
目标服务器可以提供OpenResty服务,OpenResty(也称为ngx_openresty)是一个全功能的Web应用服务器。它打包了标准的Nginx核心,很多的常用的第三方模块,以及它们的大多数依赖项。通过揉和众多设计良好的Nginx模块,OpenResty有效地把Nginx服务器转变为一个强大的Web应用服务器,基于它开发人员可以使用Lua编程语言对Nginx核心以及现有的各种Nginx C模块进行脚本编程,构建出可以处理一万以上并发请求的极端高性能的Web应用。
步骤203,目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
本实施例中,目标服务器在接收到第一令牌后,对第一令牌进行令牌验证,如果验证通过,目标服务器就访问目标应用程序的后台服务器,并将访问结果返回给终端,从而使终端成功登录目标应用程序。
上述单点登录方法中,别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。通过本发明实施例,终端在请求登录目标应用程序时,先由别名服务器进行域名映射确定目标服务器,然后由目标服务器来进行令牌验证,这样就减轻了后台服务器的验证压力,提高了后台服务器的响应速度;并且,目标服务器可以提供OpenResty服务,不仅处理速度快,而且可以支持的链接数量较多,因此可以应对高并发场景。
在另一个实施例中,如图3所示,本实施例涉及的是单点登录方法的一种可选的过程。在上述图2所示实施例的基础上,具体可以包括以下步骤:
步骤301,后台服务器接收终端发送的身份验证信息;在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
本实施例中,终端在登录一个应用程序时,向这个应用程序的后台服务器发送身份验证信息。该应用程序的后台服务器在接收到终端发送的身份验证信息后对终端进行身份验证,当身份验证通过后,生成第一令牌并将第一令牌发送到终端。
例如,终端在登录应用程序B时,向应用程序B的后台服务器发送登录账号和登录密码,后台服务器在接收到登录账号和登录密码后,验证登录密码是否与登录账号对应。当登录密码对应登录账号时,确定身份验证通过,生成Token1,并将Token1发送到终端。终端在接收到Token1后,保存Token1。
步骤302,别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌。
步骤303,别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器。
步骤304,目标服务器将第一令牌与预先存储的第二令牌进行比较;若第一令牌与第二令牌一致,则确定令牌验证通过;若第一令牌与第二令牌不一致,则确定令牌验证失败。
本实施例中,目标服务器可以预先在Redis当中存储目标应用程序对应的第二令牌。在接收到第一令牌后,目标服务器将第一令牌与预先存储的第二令牌进行比较,如果第一令牌与第二令牌一致,则确定令牌验证通过,执行步骤310;如果第一令牌与第二令牌不一致,则确定令牌验证失败,执行步骤305。
步骤305,当令牌验证失败时,目标服务器生成登录页面,并将登录页面发送到终端。
本实施例中,当令牌验证失败时,由目标服务器生成登录页面,并将登录页面发送到终端。其中,登录页面可以与目标应用程序的后台服务器所提供的登录页面相同。登录页面上可以设置有图形编码,比如二维码。本发明实施例对登录页面不作详细限定,可以根据实际情况进行设置。在令牌验证失败时,由目标服务器生成登录页面而不是由后台服务器生成登录页面,可以降低后台服务器的压力,减少后台服务器处理的数据量,进而提高后台服务器的响应速度。
步骤306,鉴权服务器接收终端发送的登录页面的扫描信息;在根据扫描信息确定扫描成功时,生成第三令牌。
本实施例中,目标服务器将登录页面发送到终端后,终端对登录页面进行扫描得到扫描信息;然后,终端将扫描信息发送到鉴权服务器。鉴权服务器接收终端发送的扫描信息,根据扫描信息判断终端是否扫描成功;在确定终端扫描成功时生成第三令牌。
判断终端是否扫描成功具体可以包括:对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。例如,鉴权服务器对扫描信息进行解析,从中解析出二维码,对二维码进行图像识别,得到二维码表征的第一字符串;然后,鉴权服务器将第一字符串与预先存储的第二字符串进行比较,如果第一字符串与第二字符串匹配,则确定扫描成功;如果第一字符串与第二字符串不匹配,则确定扫描失败。其中,预先存储的第二字符串对应登录页面上的图形编码。
步骤307,将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
本实施例中,鉴权服务器在生成第三令牌后,将第三令牌发送到目标服务器。目标服务器在接收到第三令牌后,根据第三令牌更新Redis中预先存储的第二令牌。同时,鉴权服务器将第三令牌发送到终端,终端在接收到第三令牌后更新预先存储的第一令牌。
可选地,鉴权服务器根据第三令牌生成cookie,将cookie发送到终端,终端在接收到cookie后,将cookie保存到浏览器中。
步骤308,别名服务器接收终端更新第一令牌后重新发送的登录请求。
本实施例中,终端在根据第三令牌更新第一令牌后,重新发送请求登录目标应用程序的登录请求,该登录请求中携带更新后的第一令牌。别名服务器接收终端重新发送的登录请求。
步骤309,别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器。
步骤310,在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
上述单点登录方法中,终端预先获取第一令牌,在请求登录目标应用程序时,向别名服务器发送登录请求,该登录请求中携带目标应用程序的后台服务器对应的第一域名和第一令牌;别名服务器在接收到登录请求后进行域名映射,得到第二域名,并将第一令牌发送到第二域名对应的目标服务器。在目标服务器对第一令牌验证失败时,由目标服务器生成登录页面并发送到终端。鉴权服务器在接收到终端扫描登录页面得到的扫描信息后,确定终端是否扫描成功,并在确定扫描成功时生成第三令牌。然后,鉴权服务器将第三令牌发送到目标服务器和终端。终端在接收到第三令牌后对第一令牌进行更新并重新发送登录请求,目标服务器在接收到第三令牌后更新第二令牌,在接收到终端重新发送的登录请求后进行令牌验证。此后,目标服务器在令牌验证通过后访问后台服务器,并将访问结果发送到终端。在这个过程中,由目标服务器进行令牌验证,而不是由后台服务器进行令牌验证,降低了后台服务器的压力;并且,在令牌验证失败时,由目标服务器生成登录页面并将登录页面发送到终端,而不是由后台服务器生成登录页面,因此进一步降低了后台服务器的压力。由于减少了后台服务器处理的数据量,所以提高了后台服务器的响应速度,进而可以应对高并发场景。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种单点登录***,单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;
别名服务器401,用于接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;
目标服务器402,用于对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
在其中一个实施例中,上述目标服务器402,具体用于将第一令牌与预先存储的第二令牌进行比较;若第一令牌与第二令牌一致,则确定令牌验证通过;若第一令牌与第二令牌不一致,则确定令牌验证失败。
在其中一个实施例中,上述目标服务器402,具体用于当令牌验证失败时,生成登录页面,并将登录页面发送到终端。
在其中一个实施例中,单点登录***还包括鉴权服务器;
鉴权服务器,用于接收终端发送的登录页面的扫描信息;在根据扫描信息确定扫描成功时,生成第三令牌;将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
在其中一个实施例中,别名服务器401,还用于接收终端更新第一令牌后重新发送的登录请求。
在其中一个实施例中,鉴权服务器,具体用于对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
在其中一个实施例中,后台服务器,用于接收终端发送的身份验证信息;在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
关于单点登录***的具体限定可以参见上文中对于单点登录方法的限定,在此不再赘述。上述单点登录***中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储单点登录数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种单点登录方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;
别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;
目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:
目标服务器将第一令牌与预先存储的第二令牌进行比较;
若第一令牌与第二令牌一致,则确定令牌验证通过;
若第一令牌与第二令牌不一致,则确定令牌验证失败。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:
当令牌验证失败时,目标服务器生成登录页面,并将登录页面发送到终端。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:
鉴权服务器接收终端发送的登录页面的扫描信息;
在根据扫描信息确定扫描成功时,生成第三令牌;
将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:
别名服务器接收终端更新第一令牌后重新发送的登录请求。
在其中一个实施例中,上述根据扫描信息确定扫描成功,包括:
对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;
若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:
后台服务器接收终端发送的身份验证信息;
在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
别名服务器接收终端发送的请求登录目标应用程序的登录请求,登录请求携带后台服务器的第一域名和预先获取到的第一令牌;
别名服务器根据预先设置的域名映射关系将第一域名映射到第二域名,并将第一令牌发送到第二域名对应的目标服务器;
目标服务器对第一令牌进行令牌验证,并在第一令牌验证通过时访问后台服务器,以及将访问结果返回给终端。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
目标服务器将第一令牌与预先存储的第二令牌进行比较;
若第一令牌与第二令牌一致,则确定令牌验证通过;
若第一令牌与第二令牌不一致,则确定令牌验证失败。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当令牌验证失败时,目标服务器生成登录页面,并将登录页面发送到终端。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
鉴权服务器接收终端发送的登录页面的扫描信息;
在根据扫描信息确定扫描成功时,生成第三令牌;
将第三令牌分别发送到目标服务器和终端,以供目标服务器根据第三令牌更新第二令牌,以及供终端根据第三令牌更新第一令牌。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
别名服务器接收终端更新第一令牌后重新发送的登录请求。
在其中一个实施例中,上述根据扫描信息确定扫描成功,包括:
对扫描信息进行解析,得到图形编码和图形编码对应的第一字符串;
若第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
后台服务器接收终端发送的身份验证信息;
在身份验证通过后生成第一令牌,并将第一令牌发送到终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种单点登录方法,其特征在于,应用于单点登录***中,所述单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;所述方法包括:
所述别名服务器接收终端发送的请求登录所述目标应用程序的登录请求,所述登录请求携带所述后台服务器的第一域名和预先获取到的第一令牌;
所述别名服务器根据预先设置的域名映射关系将所述第一域名映射到第二域名,并将所述第一令牌发送到所述第二域名对应的所述目标服务器;
所述目标服务器对所述第一令牌进行令牌验证,并在所述第一令牌验证通过时访问所述后台服务器,以及将访问结果返回给所述终端。
2.根据权利要求1所述的方法,其特征在于,所述目标服务器对所述第一令牌进行令牌验证,包括:
所述目标服务器将所述第一令牌与预先存储的第二令牌进行比较;
若所述第一令牌与所述第二令牌一致,则确定令牌验证通过;
若所述第一令牌与所述第二令牌不一致,则确定令牌验证失败。
3.根据权利要求2所述的方法,其特征在于,在所述目标服务器对所述第一令牌进行令牌验证之后,所述方法还包括:
当令牌验证失败时,所述目标服务器生成登录页面,并将所述登录页面发送到所述终端。
4.根据权利要求3所述的方法,其特征在于,所述单点登录***还包括鉴权服务器;在所述将所述登录页面发送到所述终端之后,所述方法还包括:
所述鉴权服务器接收所述终端发送的所述登录页面的扫描信息;
在根据所述扫描信息确定扫描成功时,生成第三令牌;
将所述第三令牌分别发送到所述目标服务器和所述终端,以供所述目标服务器根据所述第三令牌更新所述第二令牌,以及供所述终端根据所述第三令牌更新所述第一令牌。
5.根据权利要求4所述的方法,其特征在于,在所述将所述第三令牌分别发送到所述目标服务器和所述终端之后,所述方法还包括:
所述别名服务器接收所述终端更新所述第一令牌后重新发送的登录请求。
6.根据权利要求4所述的方法,其特征在于,所述根据所述扫描信息确定扫描成功,包括:
对所述扫描信息进行解析,得到图形编码和所述图形编码对应的第一字符串;
若所述第一字符串与预先存储的第二字符串匹配,则确定扫描成功。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述别名服务器接收终端发送的请求登录所述目标应用程序的登录请求之前,所述方法还包括:
所述后台服务器接收所述终端发送的身份验证信息;
在身份验证通过后生成所述第一令牌,并将所述第一令牌发送到所述终端。
8.一种单点登录***,其特征在于,所述单点登录***包括目标应用程序的后台服务器、别名服务器和目标服务器;
所述别名服务器,用于接收终端发送的请求登录所述目标应用程序的登录请求,所述登录请求携带所述后台服务器的第一域名和预先获取到的第一令牌;根据预先设置的域名映射关系将所述第一域名映射到第二域名,并将所述第一令牌发送到所述第二域名对应的所述目标服务器;
所述目标服务器,用于对所述第一令牌进行令牌验证,并在所述第一令牌验证通过时访问所述后台服务器,以及将访问结果返回给所述终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964775.3A CN110727935B (zh) | 2019-10-11 | 2019-10-11 | 单点登录方法、***、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964775.3A CN110727935B (zh) | 2019-10-11 | 2019-10-11 | 单点登录方法、***、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727935A true CN110727935A (zh) | 2020-01-24 |
CN110727935B CN110727935B (zh) | 2021-08-24 |
Family
ID=69221001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910964775.3A Active CN110727935B (zh) | 2019-10-11 | 2019-10-11 | 单点登录方法、***、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727935B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581628A (zh) * | 2020-05-13 | 2020-08-25 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN114362965A (zh) * | 2022-02-28 | 2022-04-15 | 北京达佳互联信息技术有限公司 | 资源处理方法、装置、电子设备及存储介质 |
CN115174181A (zh) * | 2022-06-28 | 2022-10-11 | 北京中亦安图科技股份有限公司 | 一种单点登录的实现方法、装置、设备及存储介质 |
WO2023104117A1 (zh) * | 2021-12-09 | 2023-06-15 | 中兴通讯股份有限公司 | 资源访问方法、***、电子设备和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及*** |
-
2019
- 2019-10-11 CN CN201910964775.3A patent/CN110727935B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581628A (zh) * | 2020-05-13 | 2020-08-25 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN111581628B (zh) * | 2020-05-13 | 2023-04-28 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
WO2023104117A1 (zh) * | 2021-12-09 | 2023-06-15 | 中兴通讯股份有限公司 | 资源访问方法、***、电子设备和计算机可读存储介质 |
CN114362965A (zh) * | 2022-02-28 | 2022-04-15 | 北京达佳互联信息技术有限公司 | 资源处理方法、装置、电子设备及存储介质 |
CN115174181A (zh) * | 2022-06-28 | 2022-10-11 | 北京中亦安图科技股份有限公司 | 一种单点登录的实现方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110727935B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727935B (zh) | 单点登录方法、***、计算机设备和存储介质 | |
US11089023B2 (en) | Computer readable storage media for tiered connection pooling and methods and systems for utilizing same | |
CN110781482B (zh) | 登陆方法、装置、计算机设备和存储介质 | |
CN103475484B (zh) | USB key认证方法及*** | |
CN110888838A (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN112860778A (zh) | 桌面应用程序的数据库管理方法、装置、设备和介质 | |
RU2638779C1 (ru) | Способ и сервер для вьполнения авторизации приложения на электронном устройстве | |
CN112165448A (zh) | 业务处理方法、装置、***、计算机设备和存储介质 | |
CN113872990A (zh) | 基于ssl协议的vpn网络证书认证方法、装置和计算机设备 | |
CN113742681B (zh) | 一种账户管理方法、装置、计算机设备和存储介质 | |
CN111597573B (zh) | 页面嵌入方法、装置、计算机设备和存储介质 | |
CN112632504B (zh) | 网页访问方法、装置、***、计算机设备和存储介质 | |
CN111988336A (zh) | 访问请求的处理方法、装置、***和计算机设备 | |
CN112637085B (zh) | 流量录制方法、装置、计算机设备和存储介质 | |
CN114448722A (zh) | 跨浏览器登录方法、装置、计算机设备和存储介质 | |
CN114238914A (zh) | 数字证书申请***、方法、装置、计算机设备和存储介质 | |
CN110933034A (zh) | 一种基于数字指纹的登录方法及装置 | |
CN111552551A (zh) | 基于主从***的用户管理方法、装置、计算机设备和介质 | |
CN112417403A (zh) | 一种基于GitLab API的***自动化认证和授权处理方法 | |
CN117411725B (zh) | 门户应用认证方法、装置、及计算机设备 | |
CN113805968B (zh) | 应用程序的功能执行方法、装置、计算机设备和存储介质 | |
CN112711538B (zh) | 测试***模拟方法、装置、计算机设备及存储介质 | |
CN112751844B (zh) | 一种Portal认证方法、装置及电子设备 | |
CN111563005B (zh) | Cookie数据的处理方法、装置、计算机设备和存储介质 | |
KR101585149B1 (ko) | 플러그인 프리 웹서비스 제공 시스템 및 방법 |
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 |