一种实现单点登录的方法、系统及装置的制作方法

文档序号:6427834阅读:116来源:国知局
专利名称:一种实现单点登录的方法、系统及装置的制作方法
技术领域
本申请涉及网络通信技术领域,尤其涉及一种实现单点登录的方法、系统及装置。
背景技术
在单点登录(Single Sign On,简称为SS0)系统中,用户终端只需要登录到一个应用服务器,就可以在无需登录的情况下访问该系统中的其它应用服务器。在SSO系统中,用户终端在访问系统中的各网站服务器时无需逐个登录,提高了登录效率,并且减少了网站服务器对用户终端的登录请求的处理过程,减轻了网站服务器的负担。图I示出了 SSO系统结构示意图。如图I所示,SSO系统主要包括用户终端101、认证服务器102以及多个网站服务器103。基于该系统实现的SSO认证方式主要包括集中认 证方式和联合认证方式,其中,集中认证方式中,由统一的认证服务器102对用户终端101进行验证,即各网站服务器103在接收到未登录用户终端101的访问请求后,会请求认证服务器102对该用户终端101进行登录认证,并根据认证服务器102的认证结果进行后续处理;联合认证方式中,每个网站服务器103都需要维护一份信任的服务器列表以及相应的信任机制,网站服务器在接收到未登录用户终端101的访问请求后,从维护的服务器列表中选择一个服务器作为认证服务器102,根据信任机制确定选择的该服务器可信后,请求选择的该服务器对该用户终端101进行登录认证,并根据选择的该服务器的认证结果进行后续处理。图2示出了基于图I所示的系统实现SSO的流程示意图。如图2所示,基于图I所示的系统实现单点登录的过程,主要包括如下步骤步骤201、用户终端101通过浏览器客户端向网站服务器103发送访问请求。步骤202、网站服务器103确定该用户终端101未登录后,向认证服务器102发送对用户终端101进行登录认证的请求。该步骤202中,网站服务器103向认证服务器102发送对用户终端101进行登录认证的请求,主要通过网页重定向技术实现,将用户终端101的浏览器客户端显示的页面重定向到认证服务器102,该认证服务器102通过浏览器客户端向用户显示登录页面。步骤203、用户终端101通过浏览器客户端显示的登录页面,向认证服务器102发送登录请求。步骤204、认证服务器102对用户的登录请求验证通过后,将用户终端101的浏览器客户端显示的页面重定向回网站服务器103提供的页面,并在重定向地址中包含该用户的认证信息。步骤205、网站服务器103根据认证服务器102提供的认证信息,确定用户终端101成功登录后,对用户终端101发送的访问请求进行处理。至此,SSO流程结束。在上述流程中,认证服务器102在对用户终端101完成登录认证后,针对该用户终端101生成Session (会话)并存储,网站服务器接收认证服务器发送的用于标识用户终端成功登录的认证信息后,也会针对该用户终端生成Session以及Cookie,其中,Session存储在网站服务器中,用于保存该用户终端访问该网站服务器的上下文信息;C00kie被发送到用户终端进行存储,该Cookie中包括针对该用户终端生成的Session的Session ID (会话标识)。用户终端101在后续向该网站服务器103发送访问请求时,会携带Cookie中的Session ID 。基于上述处理流程,在图I所示的SSO系统中,认证服务器102以及网站服务器103中会分别针对用户终端101生成Session。图3给出了 SSO系统中各服务器与Session的关系示意图,如图3所示,假设用户终端101访问了 n个网站服务器103,则该n个网站服务器103以及认证服务器102 —共需要生成n+1个Session。每个网站服务器103针对同一用户终端101生成的Session中,通常会写入该用户终端101的登录状态信息以及该用户终端101与该网站服务器103之间交互的上下文信息,其中,各网站服务器针对同一用户终端101保存的Session中的登录状态信息基本相同,此部分基本相同的信息由于被保存多份而导致SSO系统中存在较多的冗余数据,尤其在登录SSO系统的用户数据较多的情况下,保存的冗余数据的数据量会成倍增加,可能会由于网站服务器保存冗余数据而耗用网站服务器的资源。综上所述,现有SSO系统中保存的冗余数据较多。

发明内容
有鉴于此,本申请实施例提供一种实现单点登录的方法、系统及装置,采用该技术方案,能够减少单点登录系统中存储的冗余数据。本申请实施例通过如下技术方案实现根据本申请实施例的一个方面,提供了一种实现单点登录的方法,包括网站服务器接收用户终端发送的访问请求;以及在确定所述访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求;网站服务器接收所述认证服务器根据所述登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识,并将所述会话标识发送给所述用户终端,其中,所述会话标识由所述认证服务器根据针对所述用户终端生成的会话确定。根据本申请实施例的又一个方面,提供了一种实现单点登录的方法,包括认证服务器接收网站服务器发送的对用户终端进行登录认证的请求后,确定是否保存有针对所述用户终端生成的会话;若是,认证服务器将根据所述会话确定的会话标识发送给所述网站服务器;若否,认证服务器在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。根据本申请实施例的又一个方面,提供了一种实现单点登录的系统,包括网站服务器以及认证服务器;其中,所述网站服务器,用于接收用户终端发送的访问请求,以及在确定所述访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求,并接收所述认证服务器根据所述登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识,并将所述会话标识发送给所述用户终端;所述认证服务器,用于接收网站服务器发送的对用户终端进行登录认证的请求后,确定是否保存有针对所述用户终端生成的会话,若是,将根据所述会话确定的会话标识发送给所述网站服务器,若否,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。根据本申请实施例的又一个方面,提供了一种实现单点登录的装置,包括接收单元,用于接收用户终端发送的访问请求;认证请求发送单元,用于在确定所述接收单元接收的访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求;会话标识获取单元,用于接收所述认证服务器根据所述认证请求发送单元发送的登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识;其中,所述会话标识由所述认证服务器根据针对所述用户终端生成的会话确定;会话标识提供单元,用于将所述会话标识获取单元获取的会话标识发送给所述用户终端。根据本申请实施例的又一个方面,提供了一种实现单点登录的装置,包括接收单元,用于接收网站服务器发送的对用户终端进行登录认证的请求;判断单元,用于在所述接收单元接收所述请求后,确定是否保存有针对所述用户终端生成的会话;
会话标识提供单元,用于在所述判断单元的判断结果为是时,将根据所述会话确定的会话标识发送给所述网站服务器;以及在所述判断单元的判断结果为否时,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。通过本申请实施例提供的上述至少一个技术方案,网站服务器在接收用户终端发送的访问请求后,如果确定该访问请求中未携带认证服务器在确定用户终端成功登录后发送的会话标识,则向该认证服务器发送对该用户终端进行登录认证的请求,并接收认证服务器发送的会话标识,保存该会话标识,以及将该会话标识发送给用户终端,其中,该会话标识对应的会话为该认证服务器针对所述用户终端生成的会话。根据该技术方案,网站服务器接收到的是认证服务器在确定该用户终端成功登录后发送的针对该用户终端生成的会话的会话标识,网站服务器会保存该会话标识并将该会话标识提供给用户终端。与现有技术相比,网站服务器不会针对该用户终端生成会话,而直接使用认证服务器针对该用户终端生成的会话的会话标识,从而避免了网站服务器由于针对该用户终端生成会话而导致的冗余信息存储,避免了保存冗余数据而对网站服务器资源的占用,提高了网站服务器的响应速度。本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。


附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中图I为背景技术提供的SSO系统的结构示意图;图2为背景技术提供的基于图I所示的系统实现SSO的流程示意图;图3为背景技术提供的SSO系统中各服务器与Session的关系示意图;图4为本申请实施例一提供的单点登录系统 的结构示意图;图5为本申请实施例一提供的实现单点登录的流程示意图;图6为本申请实施例一提供的单点登录系统中各服务器与会话的关系示意图;图7为本申请实施例一提供的网站服务器获取Token的流程示意图;图8为本申请实施例一提供的网站服务器对会话更新的流程示意图;图9为本申请实施例一提供的网站服务器执行用户终端退出的流程示意图;图10为本申请实施例二提供的一种实现单点登录的装置的结构示意图;图11为本申请实施例二提供的一种实现单点登录的装置的结构示意图;图12为本申请实施例二提供的又一种实现单点登录的装置的结构示意图;图13为本申请实施例二提供的又一种实现单点登录的装置的结构示意图;图14为本申请实施例二提供的又一种实现单点登录的装置的结构示意图;图15为本申请实施例二提供的又一种实现单点登录的装置的结构示意图;图16为本申请实施例三提供的实现单点登录的系统的结构示意图。
具体实施例方式为了给出减少网站服务器中存储的冗余数据的实现方案,本申请实施例提供了一种实现单点登录的方法、系统及装置,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一本申请实施例一提供了一种实现单点登录的方法,该方法中,若用户终端成功登录到认证服务器,该认证服务器会将针对该用户终端生成的会话的会话标识发送给网站服务器,网站服务器不会再针对该用户终端生成会话,而通过认证服务器发送的会话标识共享认证服务器生成的会话,并将该会话标识提供给该用户终端,该用户终端在后续发送给该网站服务器的访问请求中需要携带该会话标识,用于标识用户终端处于登录状态,即网站服务器在确定用户终端发送的访问请求中携带会话标识后,可以直接对该用户终端的访问请求进行处理。本申请实施例一提供的单点登录方法可以应用于如图4所示的单点登录系统中,如图4所示,该单点登录系统包括用户终端401、认证服务器402以及网站服务器403 (图4中示出一个网站服务器403作为示例,实际应用中,系统中可能包括多个网站服务器403),基于该系统实现的单点登录的认证方式可以为集中认证方式,也可以为联合认证方式或其它认证方式。图5示出了实现单点登录的流程示意图,如图5所示,该单点登录过程主要包括如下步骤步骤501、用户终端向网站服务器发送访问请求。该步骤501中,用户终端向网站服务器发送访问请求包括两种情况,一种情况是该用户终端得到认证服务器的认证之前发送该访问请求,即该用户终端还未接收到网站服务器发送的会话标识,例如,该用户终端首次向该网站服务器发送访问请求,由于会话标识是认证服务器在确定用户终端成功登录后提供给网站服务器的,因此,网站服务器还未向该用户终端提供会话标识,该用户终端此时发送的访问请求中未携带会话标识;另一种情况是该用户终端得到认证服务器的认证之后发送该访问请求,即认证服务器在确定用户终端成功登录后向网站服务器提供会话标识,网站服务器进一步将该会话标识提供给该用户终端,例如,该用户终端在接收到网站服务器发送的会话标识之后,向该网站服务器发送访问请求,该访问请求中携带会话标识,由于会话标识是认证服务器在确定用户终端成功登录后提供给网站服务器的,因此,网站服务器可以根据用户终端发送的携带会话标识的访问请求,确定该用户终端已经成功登录。 步骤502、网站服务器接收用户终端发送的访问请求,并确定该访问请求中是否携带会话标识,所述会话标识是认证服务器生成的,若是,执行步骤503,若否,执行步骤504至步骤507。该步骤502中,若网站服务器确定该访问请求中携带会话标识,则确定该用户终端成功登录,若网站服务器确定该访问请求中未携带会话标识,则确定该用户终端未成功登录。步骤503、网站服务器对该用户终端发送的访问请求进行处理,至此,流程结束。该步骤503中,网站服务器对该用户终端发送的访问请求进行处理,包括根据用户的访问请求向用户提供与该访问请求相应的内容。步骤504、网站服务器向认证服务器发送对用户终端进行登录认证的请求。步骤505、认证服务器接收网站服务器发送的对用户终端进行登录认证的请求后,确定向网站服务器发送的会话标识。该步骤505中,认证服务器确定向网站服务器发送的会话标识,首先确定是否保存有针对该用户终端生成的会话,若是,说明该用户终端已成功登录,则确定保存的该会话对应的会话标识为向网站服务器发送的会话标识;若否,说明该用户终端未登录,则向该用户终端提供登录页面,并对用户终端提交的账号密码进行验证,在确定该用户终端成功登录后,针对该用户终端生成会话,并确定生成的该会话的会话标识为向网站服务器发送的会话标识。其中,针对用户终端生成的会话用于保存该用户终端在整个会话过程中的状态信息,例如,登录信息或用户终端浏览网页的相关信息,一般情况下,会话与其对应的会话标识对应保存。步骤506、认证服务器将确定出的会话标识发送给网站服务器。该步骤506中,认证服务器将确定出的会话标识发送给网站服务器时,可以根据与网站服务器约定的加密方式对会话标识进行加密,以增加会话标识的安全性。步骤507、网站服务器保存认证服务器发送的会话标识,并将该会话标识发送给用户终端。该步骤507中,网站服务器将该会话标识发送给用户终端,可以将该会话标识保存在为该用户终端生成的Cookie中,并将该Cookie发送给用户终端。通过该步骤的执行,网站服务器将会话标识发送给用户终端后,用户终端可以保存该会话标识,并在后续发送给该网站服务器的访问请求中携带该会话标识,用于标识该用户终端处于登录状态,即通过认证服务器的登录认证。其中,若网站服务器将会话标识保存在Cookie中发送给用户终端,则用户终端在确定接收的Cookie中包括会话标识时,在后续发送给该网站服务器的访问请求中携带该Cookie中包括的会话标识。通过上述步骤507的执行,网站服务器将会话标识发送给用户终端之后,会进一步接收该用户终端发送的携带会话标识的访问请求,并对该用户终端发送的访问请求进行处理。至此,单点登录的流程结束。根据图5对应流程实现的单点登录过程,在单点登录系统中,无需每个网站服务器都针对用户终端生成对应的会话,通常由认证服务器针对该用户终端生成会话,由各网 站服务器共享认证服务器生成的该会话的会话标识即可。图6给出了单点登录系统中各服务器与会话的关系示意图,如图6所示,假设用户终端访问了 n个网站服务器,则该n个网站服务器以及认证服务器一共需要生成I个会话,每个网站服务器只保存该会话的会话标识,通过该方式,减少了多个网站服务器存储相同的信息,减少了冗余数据的存储。其中,会话通常由认证服务器在确定用户终端成功登录后,针对该用户终端生成会话,该会话可以保存认证服务器中或指定存储设备中,例如,保存在认证服务器的本地硬盘,或采用单独的服务器进行存储,以减轻认证服务器的存储压力。实际应用中,会话的存储必须满足高可用性、高并发性的要求,为满足此要求,可以通过TT (Tokyo Tyrant)来存储会话,TT是一种高性能的存储设备,具有良好的读性能,并且具有灵活的备份机制,所以利用TT来存储会话,能好较好地满足会话的安全性要求。根据图5对应流程实现的单点登录过程,网站服务器接收到的是认证服务器在确定该用户终端成功登录后发送的针对该用户终端生成的会话的会话标识,网站服务器会保存该会话标识并将该会话标识提供给用户终端。与现有技术相比,网站服务器不会针对该用户终端生成会话,而直接使用认证服务器针对该用户终端生成的会话的会话标识,避免了网站服务器由于针对该用户终端生成会话而导致的冗余信息存储,从而避免了保存冗余数据而对网站服务器资源的占用。以下针对实现上述流程各步骤的优选实施方式进行说明。优选实施方式一该优选实施方式一给出了上述步骤506中,认证服务器将确定出的会话标识发送给网站服务器的优选实施方式,该优选实施方式一中,为了提高认证服务器针对用户终端生成的会话的安全性,即避免会话被非法网站服务器获取,该优选实施方式一中,认证服务器会针对每个会话标识生成对应的令牌Token,并将生成的token发送给通过权限验证的网站服务器。该优选实施方式一中,认证服务器生成token后,建立该token与所对应的会话标识的对应关系,将token会话标识作为键值对(KV)保存在存储区域,每个token只能生效一次,token被网站服务器获取后,该键值对被清除,从而进一步保证了会话标识只会被经过权限验证的网站服务器获取到。具体地,网站服务器获取Token的过程如图7所示,包括如下步骤
步骤701、网站服务器向认证服务器发送token获取请求,该token获取请求中携带用户终端的信息。该步骤701中,该token获取请求可以优选地在网站服务器向认证服务器发送对用户终端进行登录认证的请求之前发送,这样就可以预先获取到Token,并在发给认证服务器的对用户终端进行登录认证的请求中携带该Token。此处所述仅为优选实施方式,实际应用中,该token获取请求也可以在网站服务器向认证服务器发送对用户终端进行登录认证的请求之后发送,例如,认证服务器在接收到网站服务器发送的对用户终端进行登录认证的请求后,确定该请求中未携带token,则拒绝该请求,并指示该网站服务器发起token获取请求,在对该网站服务器的权限验证通过后,将token发送给该网站服务器,网站服务器收到认证服务器提供的token后,可以重新发送对用户终端进行登录认证的请求,并在该请求中携带token。步骤702、认证服务器对该网站服务器进行权限验证,并在对该网站服务器的权限验证通过后,确定针对该token获取请求中携带用户终端的信息对应的用户终端生成的会话的会话标识,向该网站服务器发送该会话标识对应的token。
·
该步骤702中,认证服务器生成token通常在确定用户终端成功登录后生成,且该token与针对该用户终端生成的会话的会话标识对应。因此,该步骤702中,认证服务器在对网站服务器的权限验证通过后,首先根据token获取请求中携带用户终端的信息,确定该用户终端是否成功登录,若是,则将针对该用户终端生成的会话的会话标识所对应的token提供给网站服务器,否则在确定该用户终端成功登录后,将针对该用户终端生成的会话的会话标识所对应的token提供给网站服务器。步骤703、网站服务器保存认证服务器提供的token。至此,网站服务器获取token的流程结束。通过图7对应流程的执行,网站服务器中保存有认证服务器授予的token,该token用于标识网站服务器具备获取会话标识的权限。实际应用中,网站服务器在向认证服务器发送对该用户终端进行登录认证的请求之前,首先需要确定是否保存有与该用户终端对应的令牌token,若存在,则将该token携带在预发往认证服务器的对该用户终端进行登录认证的请求中;若不存在,则触发图7对应的流程,通过图7对应的流程获取到与该用户终端对应的token,并将该token携带在预发往认证服务器的对该用户终端进行登录认证的请求中。根据该优选实施方式一,网站服务器获取到token后,在向认证服务器发送的对用户终端进行登录认证的请求中携带该token,认证服务器接收该请求后,若确定接收的对用户终端进行登录认证的请求中携带token,则对该token进行验证,若验证通过,认证服务器向该网站服务器发送对应的会话标识,即网站服务器接收的认证服务器发送的会话标识,是认证服务器在验证携带在登录认证请求中的token通过、以及确定用户终端成功登录后发送的。具体地,认证服务器对token进行验证的方式,通常是判断接收的请求中携带的token与保存的token是否匹配,若是,则确定验证通过。进一步地,该优选实施方式一中,认证服务器生成并发送给网站服务器的token还携带用于标识token有效的时间信息;相应地,网站服务器将token携带在对用户终端进行登录认证的请求中之前,需要根据token携带的用于标识token有效的时间信息,确定该token有效。即确定token有效时才使用该token,否则需要重新获取token。该优选实施方式一中,若认证服务器生成并发送给网站服务器的token还携带用于标识token有效的时间信息,则认证服务器将会话对应的会话标识发送给网站服务器之前,还需要确定接收的对用户终端进行登录认证的请求中携带token,并根据token携带的用于标识所述token有效的时间信息确定该token有效,以及对该token验证通过。上述优选实施方式一中,通过引入token机制,提高了会话标识的安全性。该优选实施方式一所提供的技术方案在实际应用中,会话标识传递过程所涉及的参数可以如下表所示
参数名~参数的含义
从网站服务器跳转到认证服 target—url target—url是认证冗成后跳转的目务器标页面
从认证服务器返回token到 target—url token是认证服务器对网站服务器网站服务器token的权限验证通过后发送的身份认
证凭证,target—url含义同上网站服务器根据token请求 tokenTimestamp是标识token有效的时
对用户终端进行登录认证 timestamp 间戳,token含义同上认证服务器向网站服务器返 session—id sessionld是会话标识,用于唯一回会话标识标识一个会话优选实施方式二该优选实施方式二给出了基于图5对应的流程实现会话标识后,进一步实现会话内容同步的实现方案。在单点登录系统的实际应用中发现,用户终端从访问第一网站服务器跳转到访问第二网站服务器时,往往希望能够共享用户终端访问第一网站服务器时的相关访问信息,例如,用户为了查找一首歌曲,通过用户终端访问第一网站服务器并提交查找条件,但第一网站服务器中不存在与用户提交的查找条件匹配的歌曲,用户终端需要进一步访问第二网站服务器并重新提交查找条件。在此过程中,如果第二网站服务器能够共享该用户访问第一网站服务器的信息,则用户在访问第二网站服务器后无需再次提交查找条件,则可以提高访问效率,基于此目的,该优选实施方式二中提供了共享会话内容的具体实现方式。该优选实施方式二中,网站服务器在对用户终端的访问请求进行处理的过程中,能够对认证服务器针对该用户终端生成的会话进行更新,具体地,网站服务器对认证服务器针对该用户终端生成的会话进行更新的过程,如图8所示,主要包括如下步骤步骤801、网站服务器获取设定类型的处理信息。该步骤801中,网站服务器获取的处理信息通常为用户在访问请求中包含的搜索条件信息,或者用户请求访问的信息的类型等信息,具体可以根据实际需要灵活确定,此处不再一一列举。步骤802、网站服务器根据该访问请求中携带的会话标识,将获取的处理信息写入与该会话标识对应的会话中。该步骤802中,网站服务器首先根据访问请求中携带的会话标识,根据预先保存的会话标识与存储位置的对应关系,确定与该会话标识对应的会话的存储位置,并根据确定出的该存储位置,将获取到的处理信息写入会话。至此,网站服务器对会话进行更新的流程结束。该优选实施方式二中,网站服务器在执行上述步骤802之前,即网站服务器在根据访问请求中携带的会话标识,将获取的处理信息写入与该会话标识对应的会话中之前,还包括
网站服务器确定该访问请求中携带的会话标识与保存的会话标识一致。通过图8对应流程的执行,网站服务器可以将对用户终端的访问请求进行处理的过程中获取的相关信息写入到认证服务器针对该用户终端生成的会话中,从而达到会话的共享。根据该优选实施方式二提供的技术方案,网站服务器对用户终端发送的访问请求进行处理之前,还包括如下步骤根据该访问请求中携带的会话标识,从该会话标识对应的会话中获取保存的处理信息,该处理信息包括当前网站服务器之外的至少一个网站服务器分别对该用户终端发送的访问请求进行处理的过程中获取的设定类型的处理信息,并根据获取的理信息,对该访问请求进行处理。通过上述步骤的执行,当前网站服务器能够从会话中获取到其他网站服务器针对该用户终端访问请求的处理情况,从而制定出相应的服务策略,为处理当前的访问请求提供参考,提高对用户访问请求的处理效率。优选实施方式三该优选实施方式二给出了网站服务器对用户终端发送的访问请求进行处理之后,退出登录的过程。具体地,网站服务器执行用户终端退出过程,如图9所示,包括如下步骤步骤901、网站服务器接收用户终端发送的退出请求。该步骤901中,网站服务器接收的退出请求中携带指示全局退出(即认证服务器退出)或部分退出(即当前网站服务器退出)的指示。步骤902、网站服务器确定该退出请求所指示的退出类型,若为当前网站服务器退出,则执行步骤903,若为认证服务器退出,执行步骤904至步骤905。步骤903、网站服务器删除保存的会话标识,至此,流程结束。该步骤903中,网站服务器删除保存的会话标识后,还可以进一步指示用户终端将cookie中保存的会话标识置为空。步骤904、网站服务器删除保存的会话标识,并向认证服务器发送携带该会话标识的退出请求。该步骤904中,退出请求用于指示认证服务器删除该退出请求中携带的会话标识对应的会话。并且,该网站服务器可以进一步指示用户终端删除保存的cookie。
步骤905、认证服务器接收网站服务器发送的携带会话标识的退出请求,并根据该退出请求,删除该退出请求中携带的会话标识对应的会话。至此,流程结束。实施例二根据本申请实施例二的一个方面,提供了一种实现单点登录的装置,该装置可以位于网站服务器中。图10示出了实现单点登录的装置的结构示意图,如图10所示,该装置包括接收单元1001、认证请求发送单元1002 、会话标识获取单元1003以及会话标识提供单元1004 ;其中接收单元1001,用于接收用户终端发送的访问请求;认证请求发送单元1002,用于在确定所述接收单元接收的访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求;会话标识获取单元1003,用于接收所述认证服务器根据所述认证请求发送单元发送的登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识;其中,所述会话标识由所述认证服务器根据针对所述用户终端生成的会话确定;会话标识提供单元1004,用于将所述会话标识获取单元获取的会话标识发送给所述用户终端。本申请实施例二提供的一个优选实施方式中,图10所示装置包括的认证请求发送单元1002,具体用于在向所述认证服务器发送对所述用户终端进行登录认证的请求之前,确定是否保存有令牌token,所述token是所述认证服务器在对所述网站服务器的权限验证通过后发送的,若是,将所述token携带在对所述用户终端进行登录认证的请求中;若否,向所述认证服务器发送token获取请求,所述token获取请求中携带所述用户终端的信息,并接收所述认证服务器根据所述token获取请求,在对所述网站服务器的权限验证通过后发送的token,并将所述token携带在对所述用户终端进行登录认证的请求中,其中,所述认证服务器发送的所述token与认证服务器根据针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应;相应地,会话标识获取单元1003,具体用于接收所述认证服务器在验证携带在所述登录认证的请求中的所述token通过、以及确定所述用户终端成功登录后发送的会话标识。本申请实施例二提供的一个优选实施方式中,图10所示装置包括的认证请求发送单元1002,具体用于将所述token携带在对所述用户终端进行登录认证的请求中之前,根据所述token携带的用于标识所述token有效的时间信息,确定所述token有效。本申请实施例二提供的一个优选实施方式中,图10所示装置包括的会话标识提供单元1004,具体用于将所述会话标识封装在为所述用户终端生成的Cookie中,并将所述Cookie发送给所述用户终端。
本申请实施例二提供的一个优选实施方式中,图10所示装置包括的接收单元1001,具体用于接收所述用户终端在确定接收的Cookie中包括所述会话标识时发送的携带所述会话标识的访问请求。如图11所示,本申请实施例二提供的一个优选实施方式中,图10所示装置还可以进一步包括会话共享单元1005,用于在确定接收单元1001接收的访问请求中携带所述会话标识时,获取设定类型的处理信息,并根据所述访问请求中携带的会话标识,将获取的所述处理信息写入用于确定所述会话标识的会话中。本申请实施例二提供的一个优选实施方式中,图11所示装置包括的会话共享单元1005,具体用于
在将获取的所述处理信息写入用于确定所述会话标识的会话中之前,确定所述访问请求中携带的会话标识与保存的会话标识一致。本申请实施例二提供的一个优选实施方式中,图11所示装置包括的会话共享单元1005,具体用于根据所述访问请求中携带的会话标识,从用于确定所述会话标识的会话中获取保存的处理信息,所述处理信息包括当前网站服务器之外的至少一个网站服务器分别对所述用户终端发送的访问请求进行处理的过程中获取的设定类型的处理信息。如图12所示,本申请实施例二提供的一个优选实施方式中,图11所示装置还可以进一步包括退出控制单元1006,用于在会话共享单元1005将获取的所述处理信息写入用于确定所述会话标识的会话中之后,接收所述用户终端发送的退出请求,若所述退出请求指示当前网站服务器退出,则删除保存的所述会话标识;若所述退出请求指示认证服务器退出,则删除保存的所述会话标识,并向所述认证服务器发送携带所述会话标识的退出请求,所述退出请求用于指示所述认证服务器删除所述退出请求中携带的用于确定会话标识的会话。根据本申请实施例二的又一个方面,提供了一种实现单点登录的装置,该装置可以位于认证服务器中。图13示出了实现单点登录的装置的结构示意图,如图13所示,该装置包括接收单元1301、判断单元1302以及会话标识提供单元1303 ;其中接收单元1301,用于接收网站服务器发送的对用户终端进行登录认证的请求;判断单元1302,用于在所述接收单元接收所述请求后,确定是否保存有针对所述用户终端生成的会话;会话标识提供单元1303,用于在所述判断单元的判断结果为是时,将根据所述会话确定的会话标识发送给所述网站服务器;以及在所述判断单元的判断结果为否时,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。如图14所示,本申请实施例二提供的一个优选实施方式中,图13所示装置还可以进一步包括令牌提供单元1304,用于在接收单元1301接收网站服务器发送的对用户终端进行登录认证的请求之前,接收所述网站服务器发送的令牌token获取请求,所述token获取请求中携带所述用户终端的信息;以及在对所述网站服务器的权限验证通过后,向所述网站服务器发送与认证服务器针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应的token。本申请实施例二提供的一个优选实施方式中,图14所示装置包括的会话标识提供单元1303,还用于在将会话标识发送给所述网站服务器之前,确定接收的对用户终端进行登录认证的请求中携带token,并对所述token验证通过。 本申请实施例二提供的一个优选实施方式中,图14所示装置包括的会话标识提供单元1303,还用于在将会话标识发送给所述网站服务器之前,确定接收的对用户终端进行登录认证的请求中携带token,并根据所述token携带的用于标识所述token有效的时间信息确定所述token有效,以及对所述token验证通过。如图15所示,本申请实施例二提供的一个优选实施方式中,图13所示装置还可以进一步包括退出控制单元1305,用于在会话标识提供单元1303将所述会话标识发送给所述网站服务器之后,接收所述网站服务器发送的携带所述会话标识的退出请求;并根据所述退出请求,删除用于确定所述退出请求中携带的会话标识的会话。本实施例二中的实现单点登录的装置还具有能够实现实施例一方案的功能模块,此处不再赘述。应当理解,以上实现单点登录的装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的实现单点登录的装置所实现的功能与上述实施例一提供的实现单点登录的方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。实施例三本申请实施例三提供了一种实现单点登录的系统,如图16所示,该系统包括网站服务器1601以及认证服务器1602 ;其中,网站服务器1601,用于接收用户终端发送的访问请求,以及在确定所述访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求,并接收所述认证服务器根据所述登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识,并将所述会话标识发送给所述用户终端;认证服务器1602,用于接收网站服务器发送的对用户终端进行登录认证的请求后,确定是否保存有针对所述用户终端生成的会话,若是,将根据所述会话确定的会话标识发送给所述网站服务器,若否,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。
该实施例三提供的实现单点登录的系统中包括的网站服务器1601以及认证服务器1602所实现的功能与上述实施例二中已做详细描述,此处不再详细描述。本申请的实施例所提供的实现单点登录的系统可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要实现单点登录的系统具有上述功能,都应该在本申请的保护范围之内。本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
权利要求
1.一种实现单点登录的方法,其特征在于,包括 网站服务器接收用户终端发送的访问请求;以及 在确定所述访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求; 网站服务器接收所述认证服务器根据所述登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识,并将所述会话标识发送给所述用户终端,其中,所述会话标识由所述认证服务器根据针对所述用户终端生成的会话确定。
2.如权利要求I所述的方法,其特征在于,网站服务器向所述认证服务器发送对所述用户终端进行登录认证的请求之前,还包括 网站服务器确定是否保存有令牌token,所述token是所述认证服务器在对所述网站 服务器的权限验证通过后发送的; 若是,网站服务器将所述token携带在对所述用户终端进行登录认证的请求中; 若否,网站服务器向所述认证服务器发送token获取请求,所述token获取请求中携带所述用户终端的信息,并接收所述认证服务器根据所述token获取请求,在对所述网站服务器的权限验证通过后发送的token,并将所述token携带在对所述用户终端进行登录认证的请求中,其中,所述认证服务器发送的所述token与认证服务器根据针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应; 网站服务器接收所述认证服务器在确定所述用户终端成功登录后发送的会话标识,包括 网站服务器接收所述认证服务器在验证携带在所述登录认证的请求中的所述token通过、以及确定所述用户终端成功登录后发送的会话标识。
3.如权利要求2所述的方法,其特征在于,所述token是所述认证服务器在确定所述用户终端成功登录后生成的。
4.如权利要求2所述的方法,其特征在于,所述token携带用于标识所述token有效的时间信息; 网站服务器将所述token携带在对所述用户终端进行登录认证的请求中之前,还包括 根据所述token携带的用于标识所述token有效的时间信息,确定所述token有效。
5.如权利要求I所述的方法,其特征在于,网站服务器将所述会话标识发送给所述用户终端,包括 网站服务器将所述会话标识封装在为所述用户终端生成的Cookie中,并将所述Cookie发送给所述用户终端。
6.如权利要求I或5所述的方法,其特征在于,网站服务器接收用户终端发送的访问请求,包括 网站服务器接收所述用户终端在确定接收的Cookie中包括所述会话标识时发送的携带所述会话标识的访问请求。
7.如权利要求I所述的方法,其特征在于,还包括 网站服务器在确定所述访问请求中携带所述会话标识时,获取设定类型的处理信息; 根据所述访问请求中携带的会话标识,将获取的所述处理信息写入用于确定所述会话标识的会话中。
8.如权利要求7所述的方法,其特征在于,网站服务器在将获取的所述处理信息写入用于确定所述会话标识的会话中之前,还包括 网站服务器确定所述访问请求中携带的会话标识与保存的会话标识一致。
9.如权利要求7或8所述的方法,其特征在于,获取设定类型的处理信息,包括 根据所述访问请求中携带的会话标识,从用于确定所述会话标识的会话中获取保存的处理信息,所述处理信息包括当前网站服务器之外的至少一个网站服务器分别对所述用户终端发送的访问请求进行处理的过程中获取的设定类型的处理信息。
10.如权利要求7或8所述的方法,其特征在于,将获取的所述处理信息写入用于确定所述会话标识的会话中之后,还包括 网站服务器接收所述用户终端发送的退出请求; 若所述退出请求指示当前网站服务器退出,则所述网站服务器删除保存的所述会话标识; 若所述退出请求指示认证服务器退出,则所述网站服务器删除保存的所述会话标识,并向所述认证服务器发送携带所述会话标识的退出请求,所述退出请求用于指示所述认证服务器删除所述退出请求中携带的用于确定会话标识的会话。
11.如权利要求I所述的方法,其特征在于,所述会话保存在所述认证服务器或指定存储设备。
12.—种实现单点登录的方法,其特征在于,包括 认证服务器接收网站服务器发送的对用户终端进行登录认证的请求后,确定是否保存有针对所述用户终端生成的会话; 若是,认证服务器将根据所述会话确定的会话标识发送给所述网站服务器; 若否,认证服务器在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。
13.如权利要求12所述的方法,其特征在于,认证服务器接收网站服务器发送的对用户终端进行登录认证的请求之前,还包括 认证服务器接收所述网站服务器发送的令牌token获取请求,所述token获取请求中携带所述用户终端的信息;以及 在对所述网站服务器的权限验证通过后,向所述网站服务器发送与认证服务器针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应的token。
14.如权利要求13所述的方法,其特征在于,认证服务器将会话标识发送给所述网站服务器之前,还包括 认证服务器确定接收的对用户终端进行登录认证的请求中携带token,并对所述token验证通过。
15.如权利要求13所述的方法,其特征在于,认证服务器向所述网站服务器发送的token携带用于标识所述token有效的时间信息; 认证服务器将会话标识发送给所述网站服务器之前,还包括 认证服务器确定接收的对用户终端进行登录认证的请求中携带token,并根据所述token携带的用于标识所述token有效的时间信息确定所述token有效,以及对所述token验证通过。
16.如权利要求12所述的方法,其特征在于,将所述会话标识发送给所述网站服务器之后,还包括 接收所述网站服务器发送的携带所述会话标识的退出请求; 根据所述退出请求,删除用于确定所述退出请求中携带的会话标识的会话。
17.一种实现单点登录的系统,其特征在于,包括 网站服务器以及认证服务器;其中, 所述网站服务器,用于接收用户终端发送的访问请求,以及在确定所述访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求,并接收所述认证服务器根据所述登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识,并将所述会话标识发送给所述用户终端; 所述认证服务器,用于接收网站服务器发送的对用户终端进行登录认证的请求后,确定是否保存有针对所述用户终端生成的会话,若是,将根据所述会话确定的会话标识发送给所述网站服务器,若否,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。
18.一种实现单点登录的装置,其特征在于,包括 接收单元,用于接收用户终端发送的访问请求; 认证请求发送单元,用于在确定所述接收单元接收的访问请求中未携带认证服务器在确定所述用户终端成功登录后发送的会话标识时,向所述认证服务器发送对所述用户终端进行登录认证的请求; 会话标识获取单元,用于接收所述认证服务器根据所述认证请求发送单元发送的登录认证的请求,在确定所述用户终端成功登录后发送的会话标识,保存所述会话标识;其中,所述会话标识由所述认证服务器根据针对所述用户终端生成的会话确定; 会话标识提供单元,用于将所述会话标识获取单元获取的会话标识发送给所述用户终端。
19.如权利要求18所述的装置,其特征在于,所述认证请求发送单元,具体用于在向所述认证服务器发送对所述用户终端进行登录认证的请求之前,确定是否保存有令牌token,所述token是所述认证服务器在对所述网站服务器的权限验证通过后发送的,若是,将所述token携带在对所述用户终端进行登录认证的请求中;若否,向所述认证服务器发送token获取请求,所述token获取请求中携带所述用户终端的信息,并接收所述认证服务器根据所述token获取请求,在对所述网站服务器的权限验证通过后发送的token,并将所述token携带在对所述用户终端进行登录认证的请求中,其中,所述认证服务器发送的所述token与认证服务器根据针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应; 所述会话标识获取单元,具体用于接收所述认证服务器在验证携带在所述登录认证的请求中的所述token通过、以及确定所述用户终端成功登录后发送的会话标识。
20.如权利要求19所述的装置,其特征在于,所述认证请求发送单元,具体用于 将所述token携带在对所述用户终端进行登录认证的请求中之前,根据所述token携带的用于标识所述token有效的时间信息,确定所述token有效。
21.如权利要求18所述的装置,其特征在于,所述会话标识提供单元,具体用于 将所述会话标识封装在为所述用户终端生成的Cookie中,并将所述Cookie发送给所述用户终端。
22.如权利要求18或21所述的装置,其特征在于,所述接收单元,具体用于 接收所述用户终端在确定接收的Cookie中包括所述会话标识时发送的携带所述会话标识的访问请求。
23.如权利要求18所述的装置,其特征在于,还包括 会话共享单元,用于在确定所述接收单元接收的访问请求中携带所述会话标识时,获取设定类型的处理信息,并根据所述访问请求中携带的会话标识,将获取的所述处理信息写入用于确定所述会话标识的会话中。
24.如权利要求23所述的装置,其特征在于,所述会话共享单元,具体用于 在将获取的所述处理信息写入用于确定所述会话标识的会话中之前,确定所述访问请求中携带的会话标识与保存的会话标识一致。
25.如权利要求23或24所述的装置,其特征在于,所述会话共享单元,具体用于 根据所述访问请求中携带的会话标识,从用于确定所述会话标识的会话中获取保存的处理信息,所述处理信息包括当前网站服务器之外的至少一个网站服务器分别对所述用户终端发送的访问请求进行处理的过程中获取的设定类型的处理信息。
26.如权利要求23或24所述的装置,其特征在于,还包括 退出控制单元,用于在所述会话共享单元将获取的所述处理信息写入用于确定所述会话标识的会话中之后,接收所述用户终端发送的退出请求,若所述退出请求指示当前网站服务器退出,则删除保存的所述会话标识;若所述退出请求指示认证服务器退出,则删除保存的所述会话标识,并向所述认证服务器发送携带所述会话标识的退出请求,所述退出请求用于指示所述认证服务器删除所述退出请求中携带的用于确定会话标识的会话。
27.一种实现单点登录的装置,其特征在于,包括 接收单元,用于接收网站服务器发送的对用户终端进行登录认证的请求; 判断单元,用于在所述接收单元接收所述请求后,确定是否保存有针对所述用户终端生成的会话; 会话标识提供单元,用于在所述判断单元的判断结果为是时,将根据所述会话确定的会话标识发送给所述网站服务器;以及在所述判断单元的判断结果为否时,在确定所述用户终端成功登录后,针对所述用户终端生成会话,并将根据生成的所述会话确定的会话标识发送给所述网站服务器。
28.如权利要求27所述的装置,其特征在于,还包括 令牌提供单元,用于在所述接收单元接收网站服务器发送的对用户终端进行登录认证的请求之前,接收所述网站服务器发送的令牌token获取请求,所述token获取请求中携带所述用户终端的信息;以及在对所述网站服务器的权限验证通过后,向所述网站服务器发送与认证服务器针对所述用户终端的信息对应的用户终端生成的会话确定的会话标识对应的token。
29.如权利要求28所述的装置,其特征在于,所述会话标识提供单元,还用于在将会话标识发送给所述网站服务器之前,确定接收的对用户终端进行登录认证的请求中携带token,并对所述token验证通过。
30.如权利要求28所述的装置,其特征在于,所述会话标识提供单元,还用于 在将会话标识发送给所述网站服务器之前,确定接收的对用户终端进行登录认证的请求中携带token,并根据所述token携带的用于标识所述token有效的时间信息确定所述token有效,以及对所述token验证通过。
31.如权利要求27所述的装置,其特征在于,还包括 退出控制单元,用于在所述会话标识提供单元将所述会话标识发送给所述网站服务器之后,接收所述网站服务器发送的携带所述会话标识的退出请求;并根据所述退出请求,删除用于确定所述退出请求中携带的会话标识的会话。
全文摘要
本申请公开了一种实现单点登录的方法、系统及装置,该技术方案主要包括网站服务器接收用户终端发送的访问请求;在确定该访问请求中未携带认证服务器在确定该用户终端成功登录后发送的会话标识时,向该认证服务器发送对该用户终端进行登录认证的请求;其中,该会话标识对应的会话为该认证服务器针对该用户终端生成的会话;以及接收该认证服务器在确定该用户终端成功登录后发送的会话标识,保存该会话标识,并将该会话标识发送给该用户终端。采用该技术方案,能够减少网站服务器中存储的冗余数据。
文档编号G06F17/30GK102857484SQ20111018577
公开日2013年1月2日 申请日期2011年7月1日 优先权日2011年7月1日
发明者邓旻辉, 张仲明 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1