CN110781482A - 登陆方法、装置、计算机设备和存储介质 - Google Patents
登陆方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110781482A CN110781482A CN201910966790.1A CN201910966790A CN110781482A CN 110781482 A CN110781482 A CN 110781482A CN 201910966790 A CN201910966790 A CN 201910966790A CN 110781482 A CN110781482 A CN 110781482A
- Authority
- CN
- China
- Prior art keywords
- service server
- login
- request
- token
- verification
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012795 verification Methods 0.000 claims abstract description 255
- 238000004590 computer program Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 26
- 238000010200 validation analysis Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 description 11
- 230000002441 reversible effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1014—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种登陆方法、装置、计算机设备和存储介质。包括:当接收到第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识之后,生成与会话标识对应的第二业务服务器的验证令牌;根据第二业务服务器的验证令牌和第二业务服务器的地址生成第二业务服务器的重定向地址,并通过第一业务服务器将生成的重定向地址返回至终端;接收第二业务服务器发送的携带第二业务服务器的验证令牌的验证请求,且验证该验证令牌有效时,根据第二业务服务器的验证令牌获取已登录用户的账号信息并返回至第二业务服务器,第二业务服务器根据账号信息通过第二登录请求完成终端登陆第二业务服务器。采用本方法能够提高安全性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种登陆方法、装置、计算机设备和存储介质。
背景技术
随着信息技术和网络技术的快速发展,企业内部的应用***越来越多。比如在电商行业,常见的应用***就有客服***、运营管理***、数据***、内容管理***以及财务***等等。由于这些***互相独立,用户在使用每个应用***之前都必须按照相应的***身份进行登陆,为此用户必须记住每一个***的用户名和密码,从而降低了用户了的使用感。针对于这种情况,统一用户认证以及单点登录等概念应运而生。
然而,现有统一认证和单点登录均的认证方案均基于cookie实现,且需要将认证方案存于同一个顶域名上,从而降低了安全性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高安全性的登陆方法、装置、计算机设备和存储介质。
一种登陆方法,所述方法包括:
接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识,其中,所述会话标识为响应终端用户的第一登录请求时生成的登录会话的会话标识;所述第一登录请求用于请求登录所述第一业务服务器;
根据所述第二登录请求,生成与所述会话标识对应的第二业务服务器的验证令牌;
根据所述第二业务服务器的验证令牌和所述第二业务服务器的地址生成所述第二业务服务器的重定向地址,并通过所述第一业务服务器将所述第二业务服务器的重定向地址返回至终端;
接收所述第二业务服务器发送的携带有所述第二业务服务器的验证令牌的验证请求;所述携带有所述第二业务服务器的验证令牌的验证请求在所述第二业务服务器接收到所述终端根据所述第二业务服务器的重定向地址重新发送所述第二登陆请求时生成;
当验证所述第二业务服务器的验证令牌有效时,根据所述第二业务服务器的验证令牌获取所述已登录用户的账号信息并返回至所述第二业务服务器;所述第二业务服务器根据所述账号信息通过所述第二登录请求,使所述已登录用户的终端登录所述第二业务服务器。
在其中一个实施例中,所述方法还包括:
接收用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息;
根据所述第一登陆请求,生成登陆会话以及所述第一业务服务器的验证令牌;
根据所述第一业务服务器的验证令牌和所述第一业务服务器的地址生成所述第一业务服务器的重定向地址,并将所述第一业务服务器的重定向地址返回至终端;
接收所述第一业务服务器发送的携带有所述第一业务服务器的验证令牌的验证请求;所述携带有所述第一业务服务器的验证令牌的验证请求在所述第一业务服务器接收到所述终端根据所述第一业务服务器的重定向地址重新发送所述第一登陆请求时生成;
当验证所述第一业务服务器的验证令牌有效时,向所述第一业务服务器返回所述账号信息;所述第一业务服务器根据所述账号信息通过所述第一登录请求,使用户的终端登录所述第一业务服务器。
在其中一个实施例中,所述方法还包括:
接收所述第一业务服务器发送的心跳检测指令;
根据所述心跳检测指令反馈心跳信号至所述第一业务服务器,所述第一业务服务器根据所述心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
在其中一个实施例中,所述根据所述第二业务服务器的验证令牌获取所述终端用户的账号信息,包括:
确定所述第二业务服务器的验证令牌对应的会话标识;
从所述会话标识对应的登陆会话中获取终端用户的账号信息。
在其中一个实施例中,所述方法还包括:
当生成验证令牌时,为所述验证令牌添加有效时间;
将添加有效时间后的所述验证令牌存入数据库中;
当所述验证令牌的有效时间到期后,从所述数据库中删除所述验证令牌。
在其中一个实施例中,所述重定向地址的生成方法包括:
将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
在其中一个实施例中,验证令牌是否有效的方法包括:
当响应验证请求,确定数据库中不存在与所述验证请求携带的验证令牌相同的验证令牌时,确定所述验证请求携带的验证令牌无效;
当响应验证请求,确定数据库中存在与所述验证请求携带的验证令牌相同的验证令牌时,确定所述验证请求携带的验证令牌有效。
一种登陆装置,所述装置包括:
接收模块,用于接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识,其中,所述会话标识为响应终端用户的第一登录请求时生成的登录会话的会话标识;所述第一登录请求用于请求登录所述第一业务服务器;
生成模块,用于根据所述第二登录请求,生成与所述会话标识对应的第二业务服务器的验证令牌;
所述生成模块还用于根据所述第二业务服务器的验证令牌和所述第二业务服务器的地址生成所述第二业务服务器的重定向地址,并通过所述第一业务服务器将所述第二业务服务器的重定向地址返回至终端;
所述接收模块还用于接收所述第二业务服务器发送的携带有所述第二业务服务器的验证令牌的验证请求;所述携带有所述第二业务服务器的验证令牌的验证请求在所述第二业务服务器接收到所述终端根据所述第二业务服务器的重定向地址重新发送所述第二登陆请求时生成;
验证模块,用于当验证所述第二业务服务器的验证令牌有效时,根据所述第二业务服务器的验证令牌获取所述已登录用户的账号信息并返回至所述第二业务服务器;所述第二业务服务器根据所述账号信息通过所述第二登录请求,使所述已登录用户的终端登录所述第二业务服务器。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述登陆方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述登陆方法的步骤。
上述登录方法、装置、计算及设备和存储介质,能够接收到第一业务服务器发送的已登录用户的终端请求登陆第二业务服务器的第二登陆请求和会话标识之后,生成第二业务服务器对应的验证令牌,从而实现了当用户登录一个业务服务器之后就能通过已登录的业务服务器去自动登录其他的业务服务器。进而,在第二业务服务器响应登陆请求之前,预先根据第二业务服务器发送的验证请求验证进行验证令牌的验证,当验证令牌有效后才将终端用户的账号信息返回给第二业务服务器完成登陆,从而便于确认终端用户的合法性,保证登陆的安全性。该方法不仅提高了用户的使用感,且相比于传统将认证方案存于同一个顶级域名上来说,降低了风险,从而提高了登陆的安全性。
附图说明
图1为一个实施例中登陆方法的应用环境图;
图2为一个实施例中登陆方法的流程示意图;
图3为另一个实施例中登陆方法的流程示意图;
图4为一个实施例中登陆方法的时序图;
图5为一个实施例中登陆装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的登陆方法,可以应用于如图1所示的应用环境中。该应用环境涉及终端110、统一认证服务器120、第一业务服务器130以及第二业务服务器140。其中,终端110通过网络与统一认证服务器120、第一业务服务器130以及第二业务服务器140进行通信,统一认证服务器120通过网络与第一业务服务器130和第二业务服务器140进行通信。
具体地,当第一业务服务器130接收到已登录用户的终端110请求登陆第二业务服务器140的第二登陆请求时,获取会话标识;并将第二登陆请求和会话标识发送至统一认证服务器120。统一认证服务器120接收到第一业务服务器130发送的已登录用户的终端110请求登录第二业务服务器140的第二登录请求和会话标识后,根据第二登陆请求,生成与会话标识对应的第二业务服务器140的验证令牌。统一认证服务器120根据第二业务服务器140的验证令牌和第二业务服务器140的地址生成第二业务服务器140的重定向地址,并将第二业务服务器140的重定向地址返回至第一业务服务器130。第一业务服务器130将接收到的第二业务服务器140的重定向地址返回至终端110。终端110接收到第二业务服务器140的重定向地址之后,根据第二业务服务器140的重定向地址向第二业务服务器140重新发送第二登陆请求。当第二业务服务器140接收到终端110根据第二业务服务器140的重定向地址重新发送第二登陆请求时,生成携带有第二业务服务器140的验证令牌的验证请求,并发送给统一认证服务器120。统一认证服务器120验证第二业务服务器140的验证令牌有效时,根据第二业务服务器140的验证令牌获取终端110用户的账号信息并返回至第二业务服务器140。第二业务服务器140根据账号信息通过第二登录请求,使终端110用户登录第二业务服务器140。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,统一认证服务器120、第一业务服务器130以及第二业务服务器140均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种登陆方法,以该方法应用于图1中的统一认证服务器120为例进行说明,包括以下步骤:
步骤S202,接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识。
其中,业务服务器是部署了对应业务***的服务器,业务***是指针对特定业务所开发的应用***。比如电商行业,常见的应用***就有客服***、运营管理***、数据***、内容管理***以及财务***等等。而第一业务***服务器和第二业务***服务器即可以理解为是部署了不同业务***的服务器,比如第一业务服务器部署的应用***是客户***,而第二业务服务器部署的应用***是财务***。已登录用户则是指已经登陆了第一业务服务器的终端用户。
会话标识(session ID)是用于表示对应会话(session)的唯一标识符。在本实施例中,会话标识是指登陆会话的会话标识,登陆会话是终端的用户请求登陆第一业务服务器时,统一认证服务器所创建的会话。该登陆会话中存储有终端的用户的账号信息等。也就是终端用户通过终端向统一认证服务器发送请求登陆第一业务服务器的第一登陆请求时,统一认证服务器响应该第一登陆请求所生成的会话。第一登陆请求则可以理解为是用于请求登陆第一业务服务器的请求指令,相应的,第二登陆请求则是用于请求登陆第二业务服务器的请求指令。应当理解,由于业务服务器中部署了对应的业务***,登陆业务服务器即等同于登陆部署在该业务服务器中的业务***。
具体地,当用户通过终端向统一认证服务器发送了请求登陆第一业务服务器的第一登陆请求,并且基于该第一登陆请求完成第一业务服务器的登陆后,该用户即为已登录用户,也就是该用户为已经登陆了第一业务服务器的用户。在用户成为了已登录用户之后,可以在第一业务服务器所提供的第一业务***的前端界面选择其他业务***,被选择的业务***即为第二业务***。当终端检测到用户的选择操作时,即可根据用户所选择的业务***生成对应的登陆请求并发送至第一业务***服务器,即将生成的第二登陆请求发送至第一业务服务器。例如,用户通过终端完成第一业务服务器的登陆之后,第一业务服务器即会将第一业务***的前端界面返回显示于该终端的显示装置上。用户通过与终端连接的输入装置从前端界面中选择包括有业务***的前端界面,并从包括有业务***的前端界面中选择对应的第二业务***。一旦用户通过与终端连接的输入装置进行选择操作,终端即能检测到用户的选择操作,并生成被选择的业务***对应的登陆请求发送给第一业务服务器。
当第一业务服务器接收到已登录用户的终端发送的第二登陆请求时,从与已登录用户的终端所对应的会话中获取登陆会话的会话标识。该会话是第一业务服务器所生成的与已登录用户的终端对应的会话,不是统一认证服务器创建的登陆会话。在第一业务服务器创建与已登录用户的终端对应的会话时,会将统一认证服务器所返回的登陆会话的会话标识存储至该会话中。即,虽然第一业务服务器与已登录用户的终端对应的会话同样包括唯一的会话标识,但是本实施例从该会话中获取的会话标识是存储在该会话中的登陆会话的会话标识。当第一业务服务器获取到登陆会话的会话标识之后,将第二登陆请求和会话标识发送至统一认证服务器。此时,统一认证服务器即接收到了第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识。
步骤S204,根据第二登录请求,生成与会话标识对应的第二业务服务器的验证令牌。
其中,验证令牌是指用于验证用户身份的令牌(token),令牌可以理解为是服务器所生成的一串字符串,它能保证对所有机器都是唯一的。
具体地,当统一认证服务器接收到第一业务服务器发送的第二登陆请求时,调用对应的方法生成验证令牌。并且,在生成验证令牌之后,将该验证令牌与接收到的会话标识进行关联,后续即能够通过该验证令牌查询该会话标识对应的登陆会话。其中,若以JAVA为例,即可调用UUID.randomUUID().toString()方法生成验证令牌。
步骤S206,根据第二业务服务器的验证令牌和第二业务服务器的地址生成第二业务服务器的重定向地址,并通过第一业务服务器将第二业务服务器的重定向地址返回至终端。
其中,第二业务服务器的地址是指第二业务服务器的访问地址,即第二业务服务器的URL(Uniform Resource Locator,统一资源定位符)地址。重定向地址即是用于重定向的地址,重定向就是将请求重新定个方向转到其他的位置,例如网页重定向、域名的重定向等。
具体地,当统一认证服务器生成第二业务服务器的验证令牌之后,由于统一认证服务器中存储有各个业务***对应的URL地址,即从存储URL地址中的数据库中获取第二业务***的URL地址。应当理解,第二业务***的URL地址即为第二业务服务器的URL地址。然后,将第二业务服务器的URL地址与第二业务服务器的验证令牌进行拼接组合,得到第二业务服务器的重定向地址。其中,URL的地址可以通过业务***的***标识获取。由于用户的终端根据用户的选择操作生成第二登陆请求时,会获取用户所选择的业务***的***标识,并且将该***标识与生成的第二登陆请求进行关联映射。因此,统一认证服务器即可根据与第二登陆请求关联的***标识获取对应的URL地址。
当统一认证服务器生成第二业务服务器的重定向地址之后,即将该生成的第二业务服务器的重定向地址返回给第一业务服务器。进而,第一业务服务器将接收到的第二业务服务器的重定向地址返回给已登录用户的终端。当已登录用户的终端接收到第二业务服务器的重定向地址之后,根据该重定向地址自动重定向至第二业务服务器。自动重定向可以理解为,终端根据重定向地址向第二业务服务器重新发送第二登陆请求。当第二业务服务器接收到终端发送的第二登陆请求时,生成验证请求。同时从重定向地址中获取第二业务服务器的验证令牌,将第二业务服务器的验证令牌随验证请求一并发送给统一认证服务器。
步骤S208,接收第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求。
步骤S210,当验证第二业务服务器的验证令牌有效时,根据第二业务服务器的验证令牌获取已登录用户的账号信息并返回至第二业务服务器;第二业务服务器根据账号信息通过第二登录请求,使已登录用户的终端登录第二业务服务器。
其中,验证请求为用于验证终端的已登录用户的身份的请求指令,该验证请求为第二业务服务器接收到终端重新发送的第二登陆请求时生成。并且,该验证请求中携带有第二业务服务器从第二业务服务器的重定向地址中获取的第二业务服务器的验证令牌。已登录用户的账号信息包括已登录用户用于登陆第二业务***的账户和密码。
具体地,当统一认证服务器接收到第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求时,响应该验证请求验证第二业务服务器的验证令牌是否有效。即,从存储有验证令牌的数据库中查询是否有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌。当确定数据库中有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌时,即可确定第二业务服务器的验证令牌还未失效,也就是第二业务服务器的验证令牌有效。反之,当确定数据库中没有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌时,即可确定第二业务服务器的验证令牌已经失效。当确定第二业务服务器的验证令牌还未失效后,根据第二业务服务器的验证令牌获取已登录用户的账号信息。即,首先获取与第二业务服务器的验证令牌关联映射的会话标识,然后通过该会话标识获取到对应的登陆会话,从登陆会话中获取已登录用户的账号信息并返回给第二业务服务器。第二业务服务器一旦接收到统一认证服务器返回的账号信息,即可确定已登录用户发送的第二登陆请求有效且安全,即可根据接收到的账号信息通过已登录用户的终端重新发送的第二登陆请求,即根据将已登录用户的终端登陆第二业务服务器,已登录用户的终端即可接收显示并操作第二业务***的前端界面进行相应的业务处理。
另外,当确认第二业务服务器的验证令牌有效之后,从数据库中删除与第二业务服务器的验证令牌相同的验证令牌,从而保证验证令牌的单次验证性。并且,当第二业务服务器通过第二登陆请求时,第二业务服务器同时还会创建自身与已登录用户的终端的对应的会话,以用于维护已登录用户与第二业务服务器的登陆信息和权限信息等。
上述登录方法,能够接收到第一业务服务器发送的已登录用户的终端请求登陆第二业务服务器的第二登陆请求和会话标识之后,生成第二业务服务器对应的验证令牌,从而实现了当用户登录一个业务服务器之后就能通过已登录的业务服务器去自动登录其他的业务服务器。进而,在第二业务服务器响应登陆请求之前,预先根据第二业务服务器发送的验证请求验证进行验证令牌的验证,当验证令牌有效后才将终端用户的账号信息返回给第二业务服务器完成登陆,从而便于确认终端用户的合法性,保证登陆的安全性。该方法不仅提高了用户的使用感,且相比于传统将认证方案存于同一个顶级域名上来说,降低了风险,从而提高了登陆的安全性。
在一个实施例中,在第一业务服务器发送已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识之前,还包括检测统一认证服务器是否可用的步骤。具体包括:接收第一业务服务器发送的心跳检测指令;根据心跳检测指令反馈心跳信号至第一业务服务器,第一业务服务器根据心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
其中,心跳检测指令是业务服务器的心跳机制向统一认证服务器定时发送的检测指令,心跳机制用于检测是否与统一认证服务器处于有效连接状态的机制。心跳信号则可以理解统一认证服务器根据心跳检测指令做出响应的响应信号。
具体地,当第一业务服务器接收到已登录用户的终端请求登录第二业务服务器的第二登录请求时,生成心跳检测指令发送给统一认证服务器并记录当前发送心跳检测指令的时间。当统一认证服务器反馈心跳信号,且反馈心跳信号的时间与发送心跳检测指令的时间的时间差小于时间阈值时,即可获取会话标识,并将接收到已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识发送给统一认证服务器。当统一认证服务器在固定时间内一直未反馈心跳信号,第一业务服务器即可反馈认证响应失败的信息给终端。当统一认证服务器反馈信号的时间与心跳检测指令的时间的时间差大于等于时间阈值时,第一业务服务器即可反馈认证响应缓慢的信息给终端,并进一步确定已登录用户是否继续发送第二登陆请求,从而根据已登录用户的选择进行相应操作。固定时间和时间阈值均可根据实际情况进行设定,应当注意的是,设定的固定时间应当大于设定的时间阈值。另外,当统一认证服务器在固定时间内未反馈心跳信号或用户选择继续发送第二登陆请求时,第一业务服务器可将第二登陆请求转发至备用的统一认证服务器。
或者,第一业务服务器还可以与统一认证服务器一直维持心跳关系,即第一业务服务器定期向统一认证服务器发送心跳检测指令。当统一认证服务器响应心跳检测指令返回心跳信号时,第一业务服务器记录当前的时间,即为心跳成功时间。心跳成功时间可以理解为第一业务服务器接收到反馈的心跳信号时的时间。进而,当第一业务服务器接收到已登录用户的终端请求登录第二业务服务器的第二登录请求时,获取与统一认证服务器对应的心跳成功时间,以及获取当前***时间。通过当前***时间和心跳成功时间的时间差确定统一认证服务器是否处于可用状态,若时间差小于预设时间阈值,确定统一认证服务器处于可用状态,即可获取登陆会话的会话标识,然后将已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识发送给统一认证服务器。若时间差大于等于时间阈值,确定统一认证服务器处于不可用状态,即反馈认证服务器响应失败的消息至已登录用户的终端。时间阈值可根据实际情况进行设定,例如,若业务***需要快速的响应,时间阈值即可设定小一些,若对响应速度无要求,时间阈值即可设定大一些。
在本实施例中,通过统一认证服务器进行认证登陆时,预先检测统一认证是否处于可用状态,当处于可用状态时才发送对应的登陆请求,防止将登陆请求发送至统一认证服务器之后收不到响应而处于长时间的等待,从而提高登陆效率。
在一个实施例中,如图3所示,提供另一种登陆方法,以该方法应用于图1中的统一认证服务器120为例进行说明,包括以下步骤:
步骤S302,接收用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息。
具体地,当用户需要登陆第一业务***进行业务处理时,可通过统一认证服务器提供的登陆界面输入账号信息,即在登陆界面中对应的输入框中输入用账户和密码。然后选择需要登陆的第一业务***。当终端检测到用户的登陆操作时,即生成第一登陆请求,并且将第一登陆请求以及用户输入的账号信息发送至统一认证服务器。此时,统一认证服务器即接收到用户的终端发送的请求登陆的第一业务服务器的第一登陆请求和账号信息。
另外,终端生成第一登陆请求时,还可以通过反向代理服务器将第一登陆请求发送至统一认证服务器,即通过反向代理服务器检测统一认证服务器可用之后,将第一登陆请求发送至统一认证服务器。也就是说,当终端生成第一登陆请求之后,先将第一登陆请求和用户的账号信息发送至反向代理服务器。而当反向代理服务器接收到终端发送的第一登陆请求和账号信息时,生成心跳检测指令发送给统一认证服务器进行心跳检测。本实施例中的心跳检测方式如上述第一业务服务器发送心跳检测指令的方法相同,在此不再赘述。
步骤S304,根据第一登陆请求,生成登陆会话以及第一业务服务器的验证令牌。
具体地,当统一认证服务器接收到第一登陆请求和账号信息之后,响应第一登陆请求,创建与用户的终端对应的登陆会话以及调用对应的方法生成第一业务服务器的验证令牌。当登陆会话创建完成之后,将接收到的用户的账号信息存储至该登陆会话中。并且将第一业务服务器的验证令牌与登陆会话的会话标识进行映射,便于后续根据第一业务服务器的验证令牌查询到对应的登陆会话,从而获取到对应用户的账号信息。
步骤S306,根据第一业务服务器的验证令牌和第一业务服务器的地址生成第一业务服务器的重定向地址,将第一业务服务器的重定向地址返回至终端。
具体地,当统一认证服务器生成第一业务服务器的验证令牌之后,由于统一认证服务器中存储有各个业务***对应的URL地址,即从存储URL地址中的数据库中获取第一业务***的URL地址。应当理解,第一业务***的URL地址即为第一业务服务器的URL地址。然后,将第一业务服务器的URL地址与第一业务服务器的验证令牌进行拼接组合,得到第一业务服务器的重定向地址。其中,URL的地址可以通过业务***的***标识获取。由于用户的终端根据用户的选择操作生成第一登陆请求时,同样会获取用户所选择的业务***的***标识,并且将该***标识与生成的第一登陆请求进行关联映射。因此,统一认证服务器即可根据与第一登陆请求关联的***标识获取对应的URL地址。另外,终端所获取到的***标识也可以随着登陆请求一并发送至统一认证服务器。
当统一认证服务器生成第一业务服务器的重定向地址之后,即将该生成的第一业务服务器的重定向地址返回给终端。当用户的终端接收到第一业务服务器的重定向地址之后,根据该重定向地址自动重定向至第一业务服务器。可以理解为,终端根据重定向地址向第一业务服务器重新发送第一登陆请求。当第一业务服务器接收到终端发送的第一登陆请求时,生成验证请求。同时从重定向地址中获取第一业务服务器的验证令牌,将第一业务服务器的验证令牌随着验证请求一并发送给统一认证服务器。
另外,应当理解的是,若终端通过反向代理服务器发送第一登陆请求至统一认证服务器,则统一认证服务器反馈第一业务服务器的重定向地址时,应当先反馈至反向代理服务器,进而通过反向代理服务器将第一业务服务器的重定向地址反馈至终端。同样的,终端应当再次通过反向代理服务器重定向至第一业务服务器,即通过反向代理服务器重新发送第一登陆请求至第一业务服务器。也就是说,终端与第一业务服务器和统一认证服务器的交互应当均通过反向代理服务器实现。
步骤S308,接收第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求。
步骤S310,当验证第一业务服务器的验证令牌有效时,向第一业务服务器返回所述账号信息;第一业务服务器根据账号信息通过第一登录请求,使用户的终端登录第一业务服务器。
具体地,由于第一业务服务器接收到终端发送的第一登陆请求时,会生成验证请求。并且,同时从重定向地址中获取第一业务服务器的验证令牌,将第一业务服务器的验证令牌随着验证请求一并发送给统一认证服务器。因此,当当统一认证服务器接收到第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求时,响应该验证请求验证第一业务服务器的验证令牌是否有效。即,从存储有验证令牌的数据库中查询是否有与验证请求携带的第一业务服务器的验证令牌相同的验证令牌。当确定数据库中有与验证请求携带的第一业务服务器的验证令牌相同的验证令牌时,即可确定第一业务服务器的验证令牌还未失效,则确定第一业务服务器的验证令牌有效。反之,当确定数据库中没有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌时,即可确定第一业务服务器的验证令牌已经失效。确定第二业务服务器的验证令牌还未失效,即可根据第一业务服务器的验证令牌获取用户的账号信息。即,首先获取与第一业务服务器的验证令牌关联映射的登陆会话的会话标识,然后通过该会话标识获取到对应的登陆会话,从登陆会话中获取用户的账号信息并返回给第一业务服务器。第一业务服务器一旦接收到统一认证服务器返回的账号信息,即可确定用户发送的第一登陆请求有效且安全,即可根据接收到的账号信息通过用户的终端重新发送的第一登陆请求,即根据账户和密码将用户的终端登陆第一业务服务器,用户的终端即可接收显示并操作第一业务***的前端界面进行相应的业务处理。
另外,当确认第一业务服务器的验证令牌有效之后,从数据库中删除与第一业务服务器的验证令牌相同的验证令牌,从而保证验证令牌的单次验证性。并且,当第一业务服务器通过第一登陆请求时,第一业务服务器同时还会创建自身与已登录用户的终端的对应的会话,以用于维护用户与第一业务服务器的登陆信息和权限信息等。
在本实施例中,在第一业务服务器响应第一登陆请求之前,预先根据生成的第一业务服务器的验证令牌进行有效验证,从而便于确认终端用户的合法性,进而验证第一业务服务器的验证令牌有效后才将终端的用户的账号信息返回给第一业务服务器完成登陆,从而提高了登陆的安全性。
在一个实施例中,当生成验证令牌之后,还包括步骤:为验证令牌添加有效时间;将添加有效时间后的验证令牌存入数据库中;当验证令牌的有效时间到期后,从数据库中删除验证令牌。
具体地,当统一认证服务器生成第一业务服务器的验证令牌或者第二业务服务器的验证令牌之后,同时根据预设的有效时间生成验证令牌的有效时间。例如,假设预设的有效时间为5分钟,则生成的验证令牌的有效时间即为5分钟。然后,将验证令牌存储至对应的数据库中,例如Redis数据库等。当验证令牌的有效时间到期之后,表示该验证令牌已经失效,即从数据库中删除失效的验证令牌。例如,验证令牌从生成时间到当前时间已经大于等于5分钟,即确定该验证令牌失效。在本实施例中,通过对验证令牌设置有效时间,从而保证令牌的有效期。
在一个实施例中,重定向地址的生成方法包括:将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
具体地,统一认证服务器生成重定向地址时,首先根据***标识获取对应业务服务器的地址。然后,通过分隔符“?”将业务服务器的地址的业务服务器的验证令牌进行拼接。例如,假设第一业务服务器的地址为www.aaaa.com,而第一业务服务器的验证令牌为bbbb,则拼接得到的第一业务服务器的重定向地址为www.aaaa.com?bbbb。
因此,当业务服务器需要获取到对应的验证令牌时,即可根据分隔符“?”将重定向地址进行分割,从而得到验证令牌。其中,当重定向地址中包括多个参数时,即可根据参数的名称从参数中确定验证令牌。例如,第一业务服务器的地址中包括参数cccc,即第一业务服务器的地址为www.aaaa.com?cccc。也就是说,当与验证令牌进行拼接所得到的重定向地址即为www.aaaa.com?cccc?bbbb。当根据分隔符“?”分割重定向地址时,即能得到参数cccc和bbbb,此时,即可根据参数cccc和bbbb的参数名从中确定验证令牌。例如,若生成验证令牌时的名称为令牌,而cccc和bbbb两个参数中bbbb的名称为令牌,业务服务器根据该名称即可确定bbbb为验证令牌。
在本实施中,通过将业务服务器的验证令牌与业务服务的地址拼接进行重定向,从而保证被登陆的业务服务器能够安全获取到验证令牌进行验证。
在一个实施例中,如图4所示,提供一种登陆方法的时序图,参考图4,对登陆方法进行详细解释说明。
具体地,用户通过终端向统一认证服务器发送请求登陆第一业务服务器的第一登陆请求和账号信息。当统一认证服务器接收到用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息时,响应第一登陆请求,创建与用户的终端对应的登陆会话以及调用对应的方法生成第一业务服务器的验证令牌。当登陆会话创建完成之后,将接收到的用户的账号信息存储至该登陆会话中。并且将第一业务服务器的验证令牌与登陆会话的会话标识进行映射。然后,获取第一业务***的第一***标识,根据第一***标识获取第一业务服务器的地址。将第一业务服务器的地址与第一业务服务器的验证令牌进行拼接组合,得到第一业务服务器的重定向地址,并将该生成的第一业务服务器的重定向地址返回给终端。当用户的终端接收到第一业务服务器的重定向地址之后,根据该重定向地址向第一业务服务器重新发送第一登陆请求。第一业务服务器接收到终端发送的第一登陆请求时,生成验证请求。同时从重定向地址中获取第一业务服务器的验证令牌,将第一业务服务器的验证令牌随着验证请求一并发送给统一认证服务器。当统一认证服务器接收到第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求时,响应该验证请求验证第一业务服务器的验证令牌是否有效。即从存储有验证令牌的数据库中查询是否有与验证请求携带的第一业务服务器的验证令牌相同的验证令牌。当确定数据库中有与验证请求携带的第一业务服务器的验证令牌相同的验证令牌时,确定第一业务服务器的验证令牌还未失效,也就是确定第一业务服务器的验证令牌有效。即可获取与第一业务服务器的验证令牌关联映射的登陆会话的会话标识,然后通过该会话标识获取到对应的登陆会话,从登陆会话中获取用户的账号信息并返回给第一业务服务器。第一业务服务器一旦接收到统一认证服务器返回的账号信息,即可确定用户发送的第一登陆请求有效且安全,即可根据接收到的账号信息通过用户的终端重新发送的第一登陆请求,即根据账户和密码将用户的终端登陆第一业务服务器,也就是终端已成功登陆第一业务服务器。
然后,用户通过第一业务服务器所提供的第一业务***的前端界面选择要登录的第二业务***。当用户的终端检测到用户的选择操作时,即可根据用户所选择的第二业务***生成对应的第二登陆请求并发送至第一业务***服务器。当第一业务服务器接收到用户的终端发送的第二登陆请求时,从与用户的终端对应的会话中获取登陆会话的会话标识,并将第二登陆请求和会话标识发送至统一认证服务器。当统一认证服务器接收到第一业务服务器发送的第二登陆请求时,调用对应的方法生成第二业务服务器的验证令牌。以及在生成第二业务服务器的验证令牌之后,将生成的第二业务服务器的验证令牌与接收到的会话标识进行关联。并且,获取第二业务***的第一***标识,根据第二***标识获取第二业务服务器的地址。将第二业务服务器的地址与第二业务服务器的验证令牌进行拼接组合,得到第二业务服务器的重定向地址,并将该生成的第二业务服务器的重定向地址返回给第一业务服务器,通过第一业务服务器将第二业务服务器的重定向地址反馈给用户的终端。当用户的终端接收到第二业务服务器的重定向地址之后,根据该重定向地址向第二业务服务器重新发送第二登陆请求。第二业务服务器接收到终端发送的第二登陆请求时,生成验证请求。同时从重定向地址中获取第二业务服务器的验证令牌,将第二业务服务器的验证令牌随着生成的验证请求一并发送给统一认证服务器。当统一认证服务器接收到第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求时,响应该验证请求验证第二业务服务器的验证令牌是否有效。即从存储有验证令牌的数据库中查询是否有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌。当确定数据库中有与验证请求携带的第二业务服务器的验证令牌相同的验证令牌时,确定第二业务服务器的验证令牌还未失效,也就是确定第二业务服务器的验证令牌有效。即可获取与第二业务服务器的验证令牌关联映射的登陆会话的会话标识,然后通过该会话标识获取到对应的登陆会话,从登陆会话中获取用户的账号信息并返回给第二业务服务器。第二业务服务器一旦接收到统一认证服务器返回的账号信息,即可确定用户发送的第一登陆请求有效且安全,即可根据接收到的账号信息通过用户的终端重新发送的第二登陆请求,即根据账户和密码将用户的终端登陆第二业务服务器,也就是终端已成功登陆第二业务服务器。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种登陆装置,包括:接收模块502、生成模块504和验证模块506,其中:
接收模块502,用于接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识。
生成模块504,用于根据第二登录请求,生成与会话标识对应的第二业务服务器的验证令牌。
生成模块504还用于根据第二业务服务器的验证令牌和第二业务服务器的地址生成第二业务服务器的重定向地址,并通过第一业务服务器将第二业务服务器的重定向地址返回至终端。
接收模块502还用于接收第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求。
验证模块506,用于当验证第二业务服务器的验证令牌有效时,根据第二业务服务器的验证令牌获取已登录用户的账号信息并返回至第二业务服务器;第二业务服务器根据账号信息通过第二登录请求,使已登录用户的终端登录第二业务服务器。
在一个实施例中,接收模块502还用于接收用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息。
生成模块504还用于根据第一登陆请求,生成登陆会话以及第一业务服务器的验证令牌。
生成模块504还用于根据第一业务服务器的验证令牌和第一业务服务器的地址生成第一业务服务器的重定向地址,并将第一业务服务器的重定向地址返回至终端。
接收模块502还用于接收第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求。
验证模块506还用于当验证第一业务服务器的验证令牌有效时,向第一业务服务器返回账号信息;第一业务服务器根据账号信息通过第一登录请求,使用户的终端登录所述第一业务服务器。
在一个实施例中,接收模块502还用于接收第一业务服务器发送的心跳检测指令;根据心跳检测指令反馈心跳信号至第一业务服务器,第一业务服务器根据心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
在一个实施例中,验证模块506还用于确定第二业务服务器的验证令牌对应的会话标识;从会话标识对应的登陆会话中获取终端用户的账号信息。
在一个实施例中,生成模块504还用于当生成验证令牌时,为验证令牌添加有效时间;将添加有效时间后的验证令牌存入数据库中;当验证令牌的有效时间到期后,从数据库中删除所述验证令牌。
在一个实施例中,生成模块504还用于将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
在一个实施例中,验证模块506还用于当响应验证请求,确定数据库中不存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌无效;当响应验证请求,确定数据库中存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌有效。
关于登陆装置的具体限定可以参见上文中对于登陆方法的限定,在此不再赘述。上述登陆装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储验证令牌等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种登陆方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识;
根据第二登录请求,生成与会话标识对应的第二业务服务器的验证令牌;
根据第二业务服务器的验证令牌和第二业务服务器的地址生成第二业务服务器的重定向地址,并通过第一业务服务器将第二业务服务器的重定向地址返回至终端;
接收第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求;
当验证第二业务服务器的验证令牌有效时,根据第二业务服务器的验证令牌获取已登录用户的账号信息并返回至第二业务服务器;第二业务服务器根据账号信息通过第二登录请求,使已登录用户的终端登录第二业务服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息;
根据第一登陆请求,生成登陆会话以及第一业务服务器的验证令牌;
根据第一业务服务器的验证令牌和第一业务服务器的地址生成第一业务服务器的重定向地址,并将第一业务服务器的重定向地址返回至终端;
接收第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求;
当验证第一业务服务器的验证令牌有效时,向第一业务服务器返回账号信息;第一业务服务器根据账号信息通过第一登录请求,使用户的终端登录所述第一业务服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收第一业务服务器发送的心跳检测指令;根据心跳检测指令反馈心跳信号至第一业务服务器,第一业务服务器根据心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定第二业务服务器的验证令牌对应的会话标识;从会话标识对应的登陆会话中获取终端用户的账号信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当生成验证令牌时,为验证令牌添加有效时间;将添加有效时间后的验证令牌存入数据库中;当验证令牌的有效时间到期后,从数据库中删除所述验证令牌。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当响应验证请求,确定数据库中不存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌无效;当响应验证请求,确定数据库中存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌有效。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识;
根据第二登录请求,生成与会话标识对应的第二业务服务器的验证令牌;
根据第二业务服务器的验证令牌和第二业务服务器的地址生成第二业务服务器的重定向地址,并通过第一业务服务器将第二业务服务器的重定向地址返回至终端;
接收第二业务服务器发送的携带有第二业务服务器的验证令牌的验证请求;
当验证第二业务服务器的验证令牌有效时,根据第二业务服务器的验证令牌获取已登录用户的账号信息并返回至第二业务服务器;第二业务服务器根据账号信息通过第二登录请求,使已登录用户的终端登录第二业务服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收用户的终端发送的请求登陆第一业务服务器的第一登陆请求和账号信息;
根据第一登陆请求,生成登陆会话以及第一业务服务器的验证令牌;
根据第一业务服务器的验证令牌和第一业务服务器的地址生成第一业务服务器的重定向地址,并将第一业务服务器的重定向地址返回至终端;
接收第一业务服务器发送的携带有第一业务服务器的验证令牌的验证请求;
当验证第一业务服务器的验证令牌有效时,向第一业务服务器返回账号信息;第一业务服务器根据账号信息通过第一登录请求,使用户的终端登录所述第一业务服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收第一业务服务器发送的心跳检测指令;根据心跳检测指令反馈心跳信号至第一业务服务器,第一业务服务器根据心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定第二业务服务器的验证令牌对应的会话标识;从会话标识对应的登陆会话中获取终端用户的账号信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当生成验证令牌时,为验证令牌添加有效时间;将添加有效时间后的验证令牌存入数据库中;当验证令牌的有效时间到期后,从数据库中删除所述验证令牌。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当响应验证请求,确定数据库中不存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌无效;当响应验证请求,确定数据库中存在与验证请求携带的验证令牌相同的验证令牌时,确定验证请求携带的验证令牌有效。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一业务服务器发送的心跳检测指令;
根据所述心跳检测指令反馈心跳信号至所述第一业务服务器,所述第一业务服务器根据所述心跳信号发送已登录用户的终端请求登陆第二业务服务器的第二登陆请求和账号信息。
4.根据权利要求1的方法,其特征在于,所述根据所述第二业务服务器的验证令牌获取所述终端用户的账号信息,包括:
确定所述第二业务服务器的验证令牌对应的会话标识;
从所述会话标识对应的登陆会话中获取终端用户的账号信息。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当生成验证令牌时,为所述验证令牌添加有效时间;
将添加有效时间后的所述验证令牌存入数据库中;
当所述验证令牌的有效时间到期后,从所述数据库中删除所述验证令牌。
6.根据权利要求1或2所述的方法,其特征在于,所述重定向地址的生成方法包括:
将业务服务器的地址与业务服务器的验证令牌进行拼接,得到业务服务器对应的重定向地址。
7.根据权利要求1或2所述的方法,其特征在于,验证令牌是否有效的方法包括:
当响应验证请求,确定数据库中不存在与所述验证请求携带的验证令牌相同的验证令牌时,确定所述验证请求携带的验证令牌无效;
当响应验证请求,确定数据库中存在与所述验证请求携带的验证令牌相同的验证令牌时,确定所述验证请求携带的验证令牌有效。
8.一种登陆装置,其特征在于,所述装置包括:
接收模块,用于接收第一业务服务器发送的已登录用户的终端请求登录第二业务服务器的第二登录请求和会话标识,其中,所述会话标识为响应终端用户的第一登录请求时生成的登录会话的会话标识;所述第一登录请求用于请求登录所述第一业务服务器;
生成模块,用于根据所述第二登录请求,生成与所述会话标识对应的第二业务服务器的验证令牌;
所述生成模块还用于根据所述第二业务服务器的验证令牌和所述第二业务服务器的地址生成所述第二业务服务器的重定向地址,并通过所述第一业务服务器将所述第二业务服务器的重定向地址返回至终端;
所述接收模块还用于接收所述第二业务服务器发送的携带有所述第二业务服务器的验证令牌的验证请求;所述携带有所述第二业务服务器的验证令牌的验证请求在所述第二业务服务器接收到所述终端根据所述第二业务服务器的重定向地址重新发送所述第二登陆请求时生成;
验证模块,用于当验证所述第二业务服务器的验证令牌有效时,根据所述第二业务服务器的验证令牌获取所述已登录用户的账号信息并返回至所述第二业务服务器;所述第二业务服务器根据所述账号信息通过所述第二登录请求,使所述已登录用户的终端登录所述第二业务服务器。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966790.1A CN110781482B (zh) | 2019-10-12 | 2019-10-12 | 登陆方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910966790.1A CN110781482B (zh) | 2019-10-12 | 2019-10-12 | 登陆方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781482A true CN110781482A (zh) | 2020-02-11 |
CN110781482B CN110781482B (zh) | 2021-06-18 |
Family
ID=69386162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910966790.1A Active CN110781482B (zh) | 2019-10-12 | 2019-10-12 | 登陆方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781482B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115454A (zh) * | 2020-09-28 | 2020-12-22 | 中国银行股份有限公司 | 单点登陆方法、第一服务器及电子设备 |
CN112187465A (zh) * | 2020-08-21 | 2021-01-05 | 招联消费金融有限公司 | 无感登录方法、装置、计算机设备和存储介质 |
CN112231691A (zh) * | 2020-09-29 | 2021-01-15 | 新华三信息安全技术有限公司 | 一种设备登录方法、装置及*** |
CN112242996A (zh) * | 2020-09-28 | 2021-01-19 | 成都长虹网络科技有限责任公司 | 智能网关控制方法、装置和可读存储介质 |
CN112333198A (zh) * | 2020-11-17 | 2021-02-05 | ***股份有限公司 | 安全跨域登录方法、***及服务器 |
CN112487390A (zh) * | 2020-11-27 | 2021-03-12 | 网宿科技股份有限公司 | 一种微服务切换方法及*** |
CN112543194A (zh) * | 2020-12-03 | 2021-03-23 | 武汉联影医疗科技有限公司 | 移动终端登录方法、装置、计算机设备和存储介质 |
CN113037741A (zh) * | 2021-03-04 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种鉴权方法和相关装置 |
CN113055186A (zh) * | 2021-03-29 | 2021-06-29 | 建信金融科技有限责任公司 | 一种跨***的业务处理方法、装置及*** |
CN114629672A (zh) * | 2020-12-14 | 2022-06-14 | 中国电信股份有限公司 | 基于令牌验证提高语音通话的安全性的方法、***、以及存储介质 |
CN114640671A (zh) * | 2020-12-01 | 2022-06-17 | 马上消费金融股份有限公司 | 一种服务组件的管理方法、服务器和电子设备 |
CN114697055A (zh) * | 2020-12-28 | 2022-07-01 | ***通信集团终端有限公司 | 一种业务访问的方法、装置、设备及*** |
CN114884724A (zh) * | 2022-05-06 | 2022-08-09 | 杭州联吉技术有限公司 | 一种云服务器交互方法、装置、可读存储介质及终端设备 |
CN114697055B (zh) * | 2020-12-28 | 2024-07-16 | ***通信集团终端有限公司 | 一种业务访问的方法、装置、设备及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098158A (zh) * | 2009-12-10 | 2011-06-15 | 北大方正集团有限公司 | 跨域名单点登录和注销的方法、***及相应设备 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
US9325696B1 (en) * | 2012-01-31 | 2016-04-26 | Google Inc. | System and method for authenticating to a participating website using locally stored credentials |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及***、一种认证中心服务器 |
CN108200050A (zh) * | 2017-12-29 | 2018-06-22 | 重庆金融资产交易所有限责任公司 | 单点登录服务器、方法及计算机可读存储介质 |
US20180234426A1 (en) * | 2017-02-15 | 2018-08-16 | Institute For Information Industry | Authorization server, authorization method and non-transitory computer readable medium thereof |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-12 CN CN201910966790.1A patent/CN110781482B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098158A (zh) * | 2009-12-10 | 2011-06-15 | 北大方正集团有限公司 | 跨域名单点登录和注销的方法、***及相应设备 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
US9325696B1 (en) * | 2012-01-31 | 2016-04-26 | Google Inc. | System and method for authenticating to a participating website using locally stored credentials |
US20180234426A1 (en) * | 2017-02-15 | 2018-08-16 | Institute For Information Industry | Authorization server, authorization method and non-transitory computer readable medium thereof |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及***、一种认证中心服务器 |
CN108200050A (zh) * | 2017-12-29 | 2018-06-22 | 重庆金融资产交易所有限责任公司 | 单点登录服务器、方法及计算机可读存储介质 |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
詹林丹: "基于Token的统一认证***研究和实践", 《万方数据库》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187465A (zh) * | 2020-08-21 | 2021-01-05 | 招联消费金融有限公司 | 无感登录方法、装置、计算机设备和存储介质 |
CN112242996A (zh) * | 2020-09-28 | 2021-01-19 | 成都长虹网络科技有限责任公司 | 智能网关控制方法、装置和可读存储介质 |
CN112115454B (zh) * | 2020-09-28 | 2023-09-05 | 中国银行股份有限公司 | 单点登录方法、第一服务器及电子设备 |
CN112115454A (zh) * | 2020-09-28 | 2020-12-22 | 中国银行股份有限公司 | 单点登陆方法、第一服务器及电子设备 |
CN112231691A (zh) * | 2020-09-29 | 2021-01-15 | 新华三信息安全技术有限公司 | 一种设备登录方法、装置及*** |
CN112333198A (zh) * | 2020-11-17 | 2021-02-05 | ***股份有限公司 | 安全跨域登录方法、***及服务器 |
CN112333198B (zh) * | 2020-11-17 | 2023-09-05 | ***股份有限公司 | 安全跨域登录方法、***及服务器 |
CN112487390A (zh) * | 2020-11-27 | 2021-03-12 | 网宿科技股份有限公司 | 一种微服务切换方法及*** |
CN114640671A (zh) * | 2020-12-01 | 2022-06-17 | 马上消费金融股份有限公司 | 一种服务组件的管理方法、服务器和电子设备 |
CN112543194A (zh) * | 2020-12-03 | 2021-03-23 | 武汉联影医疗科技有限公司 | 移动终端登录方法、装置、计算机设备和存储介质 |
CN114629672A (zh) * | 2020-12-14 | 2022-06-14 | 中国电信股份有限公司 | 基于令牌验证提高语音通话的安全性的方法、***、以及存储介质 |
CN114697055A (zh) * | 2020-12-28 | 2022-07-01 | ***通信集团终端有限公司 | 一种业务访问的方法、装置、设备及*** |
CN114697055B (zh) * | 2020-12-28 | 2024-07-16 | ***通信集团终端有限公司 | 一种业务访问的方法、装置、设备及*** |
CN113037741B (zh) * | 2021-03-04 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 一种鉴权方法、鉴权装置、计算机设备及存储介质 |
CN113037741A (zh) * | 2021-03-04 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种鉴权方法和相关装置 |
CN113055186A (zh) * | 2021-03-29 | 2021-06-29 | 建信金融科技有限责任公司 | 一种跨***的业务处理方法、装置及*** |
CN114884724B (zh) * | 2022-05-06 | 2024-03-22 | 杭州联吉技术有限公司 | 一种云服务器交互方法、装置、可读存储介质及终端设备 |
CN114884724A (zh) * | 2022-05-06 | 2022-08-09 | 杭州联吉技术有限公司 | 一种云服务器交互方法、装置、可读存储介质及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110781482B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781482B (zh) | 登陆方法、装置、计算机设备和存储介质 | |
CN109547458B (zh) | 登录验证方法、装置、计算机设备及存储介质 | |
CN108833521B (zh) | 消息推送方法、装置、***、计算机设备和存储介质 | |
US8621589B2 (en) | Cross domain single sign on | |
KR100615793B1 (ko) | 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체 | |
US6629246B1 (en) | Single sign-on for a network system that includes multiple separately-controlled restricted access resources | |
US8869258B2 (en) | Facilitating token request troubleshooting | |
CN109873805B (zh) | 基于云安全的云桌面登陆方法、装置、设备和存储介质 | |
CN108365958B (zh) | 账号登录的验证方法、装置、计算机设备和存储介质 | |
CN108833265B (zh) | 消息处理方法、装置、服务器和存储介质 | |
CN113381979B (zh) | 一种访问请求代理方法及代理服务器 | |
CN104378376A (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
JP2009514050A (ja) | クライアント−サーバ環境においてクライアントを認証するためのシステムおよび方法 | |
CN110727935B (zh) | 单点登录方法、***、计算机设备和存储介质 | |
CN112765583A (zh) | 一种单点登录方法、装置、设备及介质 | |
CN112468442A (zh) | 双因子认证方法、装置、计算机设备及存储介质 | |
CN103024040A (zh) | 处理网页认证用户重复登录的方法和*** | |
CN112491776A (zh) | 安全认证方法及相关设备 | |
CN111371787B (zh) | 中台服务的登录注册方法、装置、***、服务器及介质 | |
CN112491890A (zh) | 一种访问方法及装置 | |
CN110598452B (zh) | 基于区块链的证据信息处理方法、装置、存储介质和设备 | |
CN112187899A (zh) | 云托管通信方法、装置、***、计算机设备和存储介质 | |
CN113761509B (zh) | iframe验证登录方法及装置 | |
CN109714363B (zh) | 一种交换机密码修改方法及*** | |
CN112929388B (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 |