一种单点登录方法、装置及系统与流程

文档序号:19281720发布日期:2019-11-29 23:00阅读:198来源:国知局
一种单点登录方法、装置及系统与流程
本申请涉及计算机通信领域,尤其涉及一种单点登录方法、装置及系统。
背景技术
:单点登录(singlesign-on,sso)机制使得用户在一次登录成功获得自身的票据(ticket)后,就可以基于该ticket访问同一业务系统的中的所有应用,而无需登录同一业务系统的每个应用,为用户访问同一业务系统中的多个应用提供极大的便利。然而,在现有单点登录的实现方式中,没有对为用户生成的ticket进行管理的机制,无法基于ticket追踪到用户访问数据。技术实现要素:有鉴于此,本申请提供一种单点登录方法、装置及系统,用于实现用户在单点登录后,可以基于ticket追踪到用户访问数据。具体地,本申请是通过如下技术方案实现的:根据本申请的第一方面,提供一种单点登录系统,所述系统包括:主单点登录sso服务器、多个子sso服务器、多个业务系统、多个单点登录仓库sso-store;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述业务系统,用于在接收到所述用户终端发送业务访问请求后,检测所述业务访问请求中是否携带ticket;若否,则向用户终端返回指向所述主sso服务器的重定向页面的链接;主sso服务器,用于将用户通过所述重定向页面提交的用户信息发送给所述业务系统对应的子sso服务器;所述子sso服务器,用于对所述用户信息进行校验,并在校验通过后,基于所述用户信息生成票据ticket,并获取与该用户信息对应的用户访问数据并生成第一令牌token,将生成的ticket和第一token关联储存至所述业务系统对应的sso-store。可选的,所述子sso服务器还用于将所述ticket返回所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。可选的,所述业务系统,还用于在检测到所述业务访问请求中携带有ticket时,在本业务系统对应的sso-store中查找是否存在与该ticket对应的第一token;若存在,则向用户终端返回所述业务访问请求所访问的资源。可选的,所述业务系统,还用于在本业务系统对应的sso-store中未查找到与该ticket对应的第一token时,向所述用户终端返回用于指示第一token无效的无效消息;所述用户终端在接收到该无效消息后,向所述主sso服务器发送token更新请求;所述token更新请求携带有所述ticket、用户信息和所述业务系统域名;所述主sso服务器将所述token更新请求转发给与所述业务系统对应的子sso服务器;所述子sso服务器获取该用户信息当前对应的用户访问数据并生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。可选的,所述主sso服务器,还用于在接收到用户终端发送的登出请求后,确定与登出请求携带的业务系统的域名对应的sso-store,并在查找到的sso-store中删除该登出请求携带的ticket及其关联的token。可选的,所述用户访问数据包括:用户登录行为记录和可访问资源列表。根据本申请第二方面,提供一种单点登录方法,所述方法应用于单点登录系统中的任一子sso服务器;所述单点登录系统还包括:多个sso-store、多个业务系统、主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述方法包括:接收所述主sso服务器发送的用户信息;所述用户信息由用户通过重定向页面提交;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;在对所述用户信息校验通过后,基于所述用户信息生成ticket;获取与所述用户信息对应的用户访问数据,生成第一token;将所述ticket和所述第一token关联储存至所述业务系统对应的sso-store。可选的,在所述基于所述用户信息生成ticket之后,所述方法还包括:将所述ticket返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。可选的,所述基于所述用户信息生成ticket,包括:从所述用户信息中获取用户标识;随机生成指定位数的随机数;基于所述用户标识和所述随机数生成ticket。可选的,所述用户访问数据包括:用户登录行为记录和可访问资源列表所述单点登录系统还包括:与所述业务系统对应的权限服务器和用户服务器;所述用户服务器至少储存有各用户信息对应的用户登录行为记录;所述权限服务器至少存储有各用户信息对应的可访问资源列表;所述获取与所述用户信息对应的用户访问数据,包括:从所述用户服务器中获取与所述用户信息对应的用户登录行为记录;从所述权限服务器中获取与所述用户信息对应的可访问资源列表。可选的,所述将所述ticket和所述第一token关联储存至所述业务系统的域名对应的sso-store,包括:将所述ticket作为键,第一token作为键值储存至所述sso-store。可选的,所述方法还包括:接收到所述主sso服务器转发的来自于用户终端的token更新请求;所述token更新请求携带有所述ticket、用户信息和所述业务系统域名;获取该用户信息当前对应的用户访问数据并生成第二token;将第二token和所述ticket关联储存至所述业务系统域名对应的sso-store。根据本申请的第三方面,提供一种单点登录方法,所述方法应用于单点登录系统中的主sso服务器,所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端以及至少一个业务系统;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述方法包括:获取用户通过重定向页面提交的用户信息;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;确定与所述业务系统对应的子sso服务器;将所述用户信息转发给所述子sso服务器,以使得所述子sso服务器在对所述用户信息校验通过后,获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统的域名对应的sso-store。可选的,所述方法还包括:接收由所述用户终端发送的token更新请求;所述token更新请求中携带用户信息和所述业务系统的域名;所述token更新请求是由所述用户终端在接收到所述业务系统返回的无效消息后发送,或者是由所述用户终端接收到用于指示用户访问数据被更新的消息后发送;将所述token更新请求转发至与所述业务系统对应的所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。可选的,所述方法还包括:接收所述用户终端发送的登出请求;所述登出请求中携带有ticket和登出的业务系统的域名;确定与所述登出的业务系统对应的sso-store;在查找到的sso-store中删除该登出请求携带的ticket及其关联的token。根据本申请的第四方面,提供一种单点登录方法,所述方法应用于单点登录系统中的任一业务系统,所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端和主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述方法包括:接收到所述用户终端发送业务访问请求;检测所述业务访问请求中是否携带ticket;若否,则向用户终端返回指向所述主sso服务器的重定向页面的链接,以由主sso服务器,用于将用户通过所述重定向页面提交的用户信息发给所述业务系统对应的子sso服务器,由所述子sso服务器对所述用户信息进行校验,并在校验通过后,基于所述用户信息生成票据ticket,并获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一令牌token关联储存至所述业务系统对应的sso-store。可选的,所述方法还包括:若是,则在本业务系统对应的sso-store中查找是否存在与该ticket对应的第一token;若存在,则向用户终端返回所述业务访问请求所访问的资源;若不存在,则向所述用户终端返回用于指示第一token无效的无效消息,以使得所述用户终端向所述主sso服务器发送携带有所述ticket、用户信息和所述业务系统的token更新请求,以由所述主sso服务器将该token更新请求转发至所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并重新生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。根据本申请的第五方面,提供一种单点登录装置,所述装置应用于单点登录系统中的任一子sso服务器;所述单点登录系统还包括:多个sso-store、多个业务系统、主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store,所述装置包括:接收单元,用于接收所述主sso服务器发送的用户信息;所述用户信息由用户通过重定向页面提交;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;生成单元,用于在对所述用户信息校验通过后,基于所述用户信息生成ticket;获取单元,用于获取与所述用户信息对应的用户访问数据,生成第一token;储存单元,用于将所述ticket和所述第一token关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:返回单元,用于将所述ticket返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。可选的,所述生成单元,具体用于从所述用户信息中获取用户标识;随机生成指定位数的随机数;基于所述用户标识和所述随机数生成ticket。可选的,所述用户访问数据包括:用户登录行为记录和可访问资源列表;所述单点登录系统还包括:与所述业务系统对应的权限服务器和用户服务器;所述用户服务器至少储存有各用户信息对应的用户登录行为记录;所述权限服务器至少存储有各用户信息对应的可访问资源列表;所述获取单元,具体用于从所述用户服务器中获取与所述用户信息对应的用户登录行为记录;从所述权限服务器中获取与所述用户信息对应的可访问资源列表。可选的,所述储存单元,具体用于将所述ticket作为键,第一token作为键值储存至所述sso-store。可选的,所述接收单元,还用于接收到所述主sso服务器转发的来自于用户终端的token更新请求;所述token更新请求携带有所述ticket、用户信息和所述业务系统域名;所述获取单元,还用于获取该用户信息当前对应的用户访问数据并生成第二token;所述储存单元,还用于将第二token和所述ticket关联储存至所述业务系统域名对应的sso-store。根据本申请的第六方面,提供一种单点登录装置,所述装置应用于单点登录系统中的主sso服务器,所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端以及至少一个业务系统;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述装置包括:获取单元,用于获取用户通过重定向页面提交的用户信息;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;第一确定单元,用于确定与所述业务系统对应的子sso服务器;第一转发单元,用于将所述用户信息转发给所述子sso服务器,以使得所述子sso服务器在对所述用户信息校验通过后,获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统的域名对应的sso-store。可选的,所述装置还包括:第一接收单元,用于接收由所述用户终端发送的token更新请求;所述token更新请求中携带用户信息和所述业务系统的域名;所述token更新请求是由所述用户终端在接收到所述业务系统返回的无效消息后发送,或者是由所述用户终端接收到用于指示用户访问数据被更新的消息后发送;第二转发单元,用于将所述token更新请求转发至与所述业务系统对应的所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:第二接收单元,用于接收所述用户终端发送的登出请求;所述登出请求中携带有ticket和登出的业务系统的域名;第二确定单元,用于确定与所述登出的业务系统对应的sso-store;删除单元,用于在查找到的sso-store中删除该登出请求携带的ticket及其关联的token。根据本申请的第七方面,提供一种单点登录装置,所述装置应用于单点登录系统中的任一业务系统,所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端和主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述装置包括:接收单元,用于接收到所述用户终端发送业务访问请求;检测单元,用于检测所述业务访问请求中是否携带ticket;返回单元,用于若否,则向用户终端返回指向所述主sso服务器的重定向页面的链接,以由主sso服务器,用于将用户通过所述重定向页面提交的用户信息发给所述业务系统对应的子sso服务器,由所述子sso服务器对所述用户信息进行校验,并在校验通过后,基于所述用户信息生成票据ticket,并获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一令牌token关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:查找单元,用于若是,则在本业务系统对应的sso-store中查找是否存在与该ticket对应的第一token;若存在,则向用户终端返回所述业务访问请求所访问的资源;若不存在,则向所述用户终端返回用于指示第一token无效的无效消息,以使得所述用户终端向所述主sso服务器发送携带有所述ticket、用户信息和所述业务系统的token更新请求,以由所述主sso服务器将该token更新请求转发至所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并重新生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。由上述描述可知,在对用户信息校验通过后,子sso服务器将为该用户生成的ticket和包含有该用户的用户访问数据的token关联储存在各业务系统对应的sso-store中,不仅实现对访问各业务系统的用户的ticket的管理,还可以在用户在线时,基于该ticket追踪到用户访问数据。附图说明图1是本申请一示例性实施例示出的一种单点登录系统示意图;图2是本申请一示例性实施例示出的一种单点登录方法的流程图;图3是本申请一示例性实施例示出的另一种单点登录方法的流程图;图4是本申请一示例性实施例示出的另一种单点登录方法的流程图;图5是本申请一示例性实施例示出的一种单点登录方法的流程图;图6是本申请一示例性实施例示出的一种token更新方法的流程图;图7是本申请一示例性实施例示出的一种登出方法的流程图;图8是本申请一示例性实施例示出的一种子sso服务器的硬件结构图;图9是本申请一示例性实施例示出的一种单点登录装置的框图;图10是本申请一示例性实施例示出的一种主sso服务器的硬件结构图;图11是本申请一示例性实施例示出的另一种单点登录装置的框图;图12是本申请一示例性实施例示出的一种业务系统的硬件结构图;图13是本申请一示例性实施例示出的另一种单点登录装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参见图1,图1是本申请一示例性实施例示出的一种单点登录系统示意图。单点登录系统包括:用户终端、主sso服务器、多个子sso服务器、多个业务系统、多个sso-store(单点登录仓库)、多个用户服务器和多个权限服务器。1、业务系统上述业务系统,是指为用户提供可访问资源的业务系统。不同的业务系统的域名不同,所以可以通过业务系统的域名来标识一个业务系统。一个业务系统中可包括多个可访问资源(可访问资源也被称为应用)。比如,一个业务系统可以是阿里业务系统,阿里业务系统中可包括淘宝应用、天猫应用、支付宝应用等。淘宝应用、天猫应用、支付宝应用等均被称为可访问资源。2、用户终端上述用户终端,用于与后台(如主sso服务器、子sso服务器、业务系统、sso-store等)进行通信,向后台传输用户信息、访问请求等,以及接收后台返回的ticket等。其中,用户终端可以是手机、计算机等,这里只是对用户终端进行示例性地说明,不进行具体地限定3、sso服务器传统的单点登录系统中配置有sso服务器,sso服务器处理所有来自于用户终端的请求,比如sso服务器对用户进行身份校验、生成ticket等等。此外,sso服务器还用于管理和储存用户访问数据。其中,用户访问数据可包括:用户可访问资源列表和用户登录行为记录。用户登录行为记录可包括:登录时间、登录次数、登录ip等等。而与传统的单点登录系统中的sso服务器不同的是,本申请设计了多级sso服务器来处理用户终端的请求。此外,本申请还设计多个服务器用于储存用户访问数据。1)多级sso服务器本申请的单点登录系统中设置有主sso服务器和至少一个子sso服务器。每个子sso服务器分别对应不同的业务系统。主sso服务器依据用户终端发送请求(比如登录请求、token更新请求等)中携带的业务系统的域名,将该请求转发给对应的子sso服务器。子sso服务器可以处理该请求。比如,若该请求是首次访问请求,子sso服务器可以对请求中携带的用户信息进行校验,并在用户信息通过校验后为用户生成ticket,并基于该用户的用户行为访问数据为用户生成token,关联ticket和token等等。其中,所述ticket是为用户分配的认证凭证,ticket可基于用户的用户信息生成。所述token可由上述用户访问数据生成。在本申请中,主sso服务器将针对不同业务系统的请求分配给不同的子sso服务器,由子sso服务器处理自身对应的业务系统的请求,实现了负载分担,提高了请求处理效率。2)用于储存用户访问数据的多个服务器传统的单点登录系统的sso服务器除了进行请求处理操作外,还进行数据存储和管理(如储存和管理用户访问数据等)。而在本申请中,将数据存储和管理从传统的sso服务器剥离出去。例如,本申请单点登录系统还配置有用户服务器和权限服务器。各业务系统都对应有各自的用户服务器和权限服务器。用户服务器用于存储和管理用户登录行为记录等。权限服务器用于储存和管理用户可访问资源列表等。一方面,将数据存储和管理从子sso服务器剥离出去,使得子sso服务器只做请求处理,从而大大提高了子sso服务器的处理性能。另一方面,将数据存储和管理从子sso服务器剥离出去,即使子sso服务器工作状态异常时,也不影响数据的存储和管理。第三方面,本申请将用户登录行为数据和用户可访问资源列表单独储存,在一定程度上可以减少用户和权限的耦合性,使得用户和权限就能根据不同的业务场景进行组合。4、sso-store现有的单点登录机制没有对ticket进行管理,当用户在线时,无法基于ticket追踪出用户访问数据。而在本申请实施例中,本申请的单点登录系统还单独配置有与各业务系统对应的sso-store。sso-store是用于管理ticket的管理系统。比如,该sso-store中储存有为用户分配的ticket,以及该ticket对应的token。此外,sso-store还储存了与ticket相关的相关信息,比如ticket的生成时间,ticket的有效时长等等。将访问各业务系统的用户的ticket和包含有该用户的用户访问数据的token关联储存在各业务系统对应的sso-store中,不仅实现对访问各业务系统的用户的ticket的管理,还可以在用户在线时,基于该ticket追踪到用户访问数据。此外,各个sso-store可以基于多层redis(一种高性能的key-value数据库)搭建。这里并不对sso-store的搭建方式进行具体地限定。此外,还需要说明的是,在本申请实施例中,按照业务系统不同将子sso服务器、sso-store、用户服务器和权限服务器进行分类,使得同一业务系统对应的子sso服务器、sso-store、用户服务器和权限服务器共同为该业务系统服务。例如,如表1所示。业务系统子sso服务器sso-store权限服务器用户服务器业务系统1子sso服务器1sso-store1权限服务器1用户服务器1业务系统2子sso服务器2sso-store2权限服务器2用户服务器2表1如表1所示,假设单点登录系统中包括两个业务系统,分别为业务系统1和业务系统2。业务系统1的域名为*.souche.com,业务系统2的域名为*.souche-inc.com,业务系统1的域名对应子sso服务器1、sso-store1、用户服务器1和权限服务器1。业务系统2的域名对应子sso服务器2、sso-store2、用户服务器2和权限服务器2。当然,在本申请中,一个业务系统还可以对应多个子sso服务器、多个sso-store、多个用户服务器和多个权限服务器,这里不进行具体地限定。参见图2,图2是本申请一示例性实施例示出的一种单点登录方法的流程图,该方法可应用在图1所示单点登录系统的子sso服务器上,可包括如下所示步骤。步骤201:子sso服务器接收主sso服务器发送的用户信息;所述用户信息由用户通过重定向页面提交;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送。当用户需要访问图1所述单点登录系统中的业务系统时,用户终端可通过域名将用户的业务访问请求发送给业务系统。业务系统域名可以唯一标识一个业务系统。业务系统在接收到该业务访问请求后,可检查该业务访问请求中是否携带有ticket。1)业务访问请求中未携带ticket的场景。若该业务访问请求中未携带ticket,说明该用户终端首次访问该业务系统。此时可执行步骤202至步骤205。具体地,若该业务访问请求中未携带ticket,业务系统则向所述用户终端返回指向主sso服务器的重定向页面链接。用户终端基于重定向页面链接获取重定向页面。用户终端可展示该重定向页面。用户可在该重定向页面上输入用户信息。该用户信息可包括:用户名、密码等。这里不对用户信息进行具体地限定。用户终端可获取用户输入的用户信息,并基于用户信息和业务系统的域名构造登录请求,通过登录请求将用户信息重定向至主sso服务器,主sso服务器也可基于登录请求,将用户信息发送至与该业务系统域名对应的子sso服务器。具体地,用户终端向主sso服务器发送登录请求。该登录请求中携带有用户信息和所述业务系统的域名。主sso服务器在接收到登录请求后,确定所述业务系统的域名对应的子sso服务器,并将该登录请求发送给该子sso服务器。子sso服务器可接收主sso服务器发送的登录请求。步骤202:子sso服务器可对接收到的用户信息进行校验。若校验通过,则执行步骤203至步骤206;若校验不通过,则向用户终端返回身份校验不通过的提示信息。步骤203:子sso服务器基于所述用户信息生成ticket。在实现时,子sso服务器可从用户信息中获取用户标识,比如uuid_a。该用户标识可以唯一标识一个用户。子sso服务器还可生成指定位数的随机数,如uuid_b。然后,子sso服务器基于获取到的用户标识和生成的随机数,生成ticket。比如,子sso服务器可按照指定规则将uuid_a和uuid_b编译为ticket。步骤204:子sso服务器获取与所述用户信息对应的用户访问数据,生成第一token。其中,该用户访问数据包括:用户登录行为记录和可访问资源列表。该用户登录行为记录可包括:登录时间、登录次数、登录设备ip地址等等。在实现时,子sso服务器可从与该业务系统域名对应的用户服务器中获取与该用户信息对应的用户登录行为记录。子sso服务器可从与该业务系统域名对应的权限服务器中获取与该用户信息对应的可访问资源列表。子sso服务器可基于获取的用户登录行为记录和可访问资源列表生成第一token。在本申请实施例中,子sso服务器在生成第一token后,还可向用户终端返回第一token。用户终端可以储存第一token,并展示第一token中携带的用户访问数据。步骤205:子sso服务器可将所述ticket和所述第一token关联储存至所述业务系统域名对应的sso-store。在本申请实施例中,子sso服务器可采用key(键)-value(键值)方式关联存储ticket和第一token。在实现时,子sso服务器可将ticket作为key,将第一token作为value存储至该业务系统域名对应的sso-store中。由于sso-store中储存了ticket与token的对应关系,这就使得管理人员或者本单点登录系统以外的其他系统在用户在线时,可以根据ticket找到对应的token,进而获取token中携带的用户访问数据,从而可以追踪出用户访问数据。当然,在实际应用中,sso-store中还可储存其他信息,比如用户标识与ticket的对应关系,用户标识和关键信息的对应关系等,这里只是对sso-store中储存的信息进行示例性地说明,不进行具体地限定。其中,关键信息可以是用户访问数据中指定信息,比如关键信息可包括:ticekt、appname(应用名称,也被称为用户可访问资源名称)、asi(应用的标准信息)参数、存储有效期等。此外,在本申请实施例中,在生成ticket之后,子sso服务器将所述ticket返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。在实现时,子sso服务器可将ticket返回给用户终端。用户终端可将ticket写入到业务访问请求的cookie中,并重新将该业务访问请求发送给上述业务系统。2)业务请求中携带ticket的场景在本申请实施例中,当用户下线时,主sso服务器可将sso-store中与该用户的ticket及其关联的token删除,但是用户终端的浏览器中仍缓存有ticket。当用户终端下线,但又在短时间内重新登录时,就会出现用户终端发送的业务请求携带有ticket,但是对应的sso-store中不存在该ticket对应的token的情形。因此,当业务系统检测到上述业务访问请求中携带ticket、且该业务系统域名对应的sso-store中不存在与该ticket对应的第一token时,业务系统可向用户终端返回用于指示第一token无效的无效消息。当用户终端接收到上述指示第一token无效的无效消息时,用户终端可向主sso服务器发送token更新请求。该token更新请求中携带有用户信息、该业务系统域名、该用户终端对应的ticket。主sso服务器在接收到token更新请求后,可确定与该token更新请求中携带的业务系统域名对应的子sso服务器,然后将该token更新请求发送至该子sso服务器。子sso服务器在接收到该token更新请求后,获取token更新请求携带的用户信息当前对应的用户访问数据并重新生成第二token。其中,获取用户当前对应的用户访问数据并重新生成第二token的方式如步骤204所示,这里不再赘述。此外,子sso服务器可将第二token和所述ticket关联储存至token更新请求携带的业务系统域名对应的sso-store。子sso服务器还可向用户终端返回第二token。用户终端在接收到第二token后,可使用第二token更新本地记录的第一token,并展示第二token。此外,在本申请实施例中,当用户终端成功登录所述业务系统时,可以更新该用户服务器中的用户登录行为记录。当然,还可以人工更新该用户服务器中的用户登录行为记录和权限服务器中的可访问资源列表。当用户服务器存储的用户登录行为记录发生更新或者权限服务器存储的可访问资源列表发生更新时,用户服务器或者权限服务器可通知主sso服务器,主sso服务器可向用户终端发送用于指示用户访问数据被更新的消息。该用于指示用户访问数据被更新的消息中携带有业务系统域名。当用户终端接收到用于指示用户访问数据被更新的消息时,用户终端可向主sso服务器发送token更新请求。该token更新请求中携带有用户信息、该业务系统域名、该用户终端对应的ticket。主sso服务器在接收到token更新请求后,可确定与该token更新请求中携带的业务系统域名对应的子sso服务器,然后将该token更新请求发送至该子sso服务器。子sso服务器在接收到该token更新请求后,获取token更新请求携带的用户信息当前对应的用户访问数据并重新生成第二token。其中,获取用户当前对应的用户访问数据并重新生成第二token的方式如步骤204所示,这里不再赘述。此外,子sso服务器可将第二token和所述ticket关联储存至token更新请求携带的业务系统域名对应的sso-store。子sso服务器还可向用户终端返回第二token。用户终端在接收到第二token后,可使用第二token更新本地记录的第一token,并展示第二token。此外,本申请还提供用户终端退出登录的方式。当用户终端退出登录时,需要将sso-store中与该用户终端对应的ticket及其token删除、以及将用户终端对应的ticket及其对应的用户标识删除、以及将包含该用户终端对应的ticket的关键信息及其对应的用户标识删除。在实现时,当用户登出业务系统时,用户终端可向主sso服务器发送登出请求。该登出请求中携带ticket和登出的业务系统域名。主sso服务器可确定与登出的业务系统域名对应的sso-store,然后在确定出的sso-store中删除与该登出请求携带的ticket以及该ticket关联的token。参见图3,图3是本申请一示例性实施例示出的一种单点登录方法的流程图,该方法可应用在图1所示的单点登录系统中的主sso服务器,可包括如下所示步骤。步骤301:主sso服务器获取用户通过重定向页面提交的用户信息。所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送。其中,该登录请求中携带有用户信息和用户所访问的业务系统的业务系统域名。具体地,当用户需要访问图1所示单点登录系统中的业务系统时,用户终端可将用户的业务访问请求发送给业务系统。业务系统在接收到该业务访问请求后,可检查该业务访问请求中是否携带有ticket。若该业务访问请求中未携带ticket,说明该用户终端首次访问该业务系统。此时,业务系统则向所述用户终端返回重定向页面链接。用户终端基于重定向页面链接获取重定向页面。用户终端可展示该重定向页面。用户可在该重定向页面上输入用户信息。该用户信息可包括:用户名、密码等。用户终端可获取用户输入的用户信息,并向主sso服务器发送登录请求。该登录请求中携带有用户信息和所述业务系统的域名。步骤302:主sso服务器确定与所述业务系统对应的子sso服务器。在实现时,主sso服务器上储存有业务系统域名与子sso服务器标识的对应关系,主sso服务器可在该对应关系中,查找与该登录请求携带的业务系统域名对应的子sso服务器标识。其中,子sso服务器标识可包括:子sso服务器的ip地址、设备id等等,这里只是示例性地说明,不进行具体地限定。步骤303:主sso服务器可将所述登录请求转发给所述子sso服务器,以使得所述子sso服务器对所述用户信息进行校验,在校验通过后,基于所述用户信息生成ticket并返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统;以及以使得所述子sso服务器获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统对应的sso-store。在实现时,主sso服务器可将所述登录请求转发给所述子sso服务器。子sso服务器在接收到该登录请求后,可对所述用户信息进行校验,在校验通过后,基于所述用户信息生成ticket并返回给所述用户终端。用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。此外,子sso服务器在校验通过后,获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统对应的sso-store。此外,在本申请实施例中,主sso服务器接收用户终端发送的token更新请求;所述token更新请求中携带用户信息、所述业务系统域名和该用户终端对应的ticket;所述token更新请求是由所述用户终端在接收到所述业务系统返回的无效消息后发送,或者是由所述用户终端接收到用于指示用户访问数据被更新的消息后发送。主sso服务器可将token更新请求转发至与所述业务系统对应的所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并重新生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store,并向用户终端返回第二token,以使用户终端展示第二token。在本申请实施例中,当用户登出业务系统时,用户终端可向主sso服务器发送登出请求。该登出请求中携带ticket和登出的业务系统域名。主sso服务器可确定与登出的业务系统域名对应的sso-store,然后在确定出的sso-store中删除与该登出请求携带的ticket以及该ticket关联的token。参见图4,图4是本申请一示例性实施例示出的另一种单点登录方法的流程图,该方法可应用在图1所示单点登录系统中的业务系统上,可包括如下所示步骤。步骤401:业务系统接收用户终端发送的业务访问请求。当用户需要访问图1所示单点登录系统中的业务系统时,用户终端可将用户的业务访问请求发送给业务系统。步骤402:业务系统检测该业务访问请求中是否携带ticket。在实现时,业务系统可检测业务访问请求的cookie或者指定参数中是否携带有ticket。步骤403:若该业务访问请求中未携带ticket,则向用户终端返回重定向页面链接,以由所述用户终端通过重定向页面链接将用户输入的用户信息重定向至所述主sso服务器,由所述主sso服务器将用户信息转发给所述业务系统对应的子sso服务器,以由所述子sso服务器在对用户信息校验通过后,基于所述用户信息生成ticket并返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统,以及以由所述子sso服务器获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统对应的sso-store。在实现时,若该业务访问请求中未携带ticket,说明该用户终端首次访问该业务系统。此时,业务系统则向所述用户终端返回重定向页面链接。用户终端基于重定向页面链接获取重定向页面。用户终端获取用户在所述重定向页面上输入的用户信息,并向所述主sso服务器发送携带有用户信息和所述业务系统域名的登录请求。所述主sso服务器将登录请求转发给所述业务系统域名对应的子sso服务器。所述子sso服务器对所述用户信息进行校验,在校验通过后,基于所述用户信息生成ticket并返回给所述用户终端。所述子sso服务器还可获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统域名对应的sso-store。所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。在本申请实施例中,若业务访问请求中携带有ticket,业务系统可在本业务系统域名对应的sso-store中查找是否存在与该ticket对应的第一token。若该sso-store中存在与该ticket对应的第一token,则确定用户终端成功登录至所述业务系统,并向用户终端返回所述业务访问请求所请求的资源。若该sso-store中不存在与该ticket对应的第一token,则向所述用户终端返回用于指示第一token无效的无效消息,以使得所述用户终端向所述主sso服务器发送携带有所述ticket、用户信息和所述业务系统域名的token更新请求,以由所述主sso服务器将该token更新请求转发至所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户登录行为记录和可访问资源列表并重新生成第二token,并将第二token和所述ticket关联储存至所述业务系统域名对应的sso-store,并向用户终端返回第二token,以使用户终端展示第二token。其中,业务系统中被配置了sso客户端,sso客户端以插件形式储存在业务系统。业务系统执行的针对单点登录的操作均可由sso客户端来执行,比如,业务系统的sso客户端执行上述步骤401至步骤403。当然,业务系统中还可以单独配置一段代码程序,由这段代码程序来执行上述单点登录操作,这里只是示例性地说明,不进行具体地限定。由上述描述可知,一方面,在对用户信息校验通过后,子sso服务器将为该用户生成的ticket和包含有该用户的用户访问数据的token关联储存在各业务系统对应的sso-store中,不仅实现对访问各业务系统的用户的ticket的管理,还可以在用户在线时,基于该ticket追踪到用户访问数据。另一方面,主服务器将针对不同业务系统的请求(例如登录请求和token更新请求)分配给不同的子sso服务器,由子服务器处理自身对应的业务系统的请求,实现了负载分担,提高了请求处理效率。第三方面,本申请将用户访问数据的存储和管理从子sso服务器中剥离出去,使得子sso服务器只做请求处理,从而大大提高了子sso服务器的处理性能。此外,将用户访问数据存储和管理从子sso服务器剥离出去,即使子sso服务器工作状态异常时,也不影响用户访问数据的存储和管理。参见图5,图5是本申请一示例性实施例示出的一种单点登录方法的流程图。该单点登录方法可应用于图1所示的单点登录系统,该方法可包括如下所示步骤。步骤501:响应于用户针对业务系统1的触发操作,用户终端向业务系统1发送业务访问请求1。当用户在用户终端输入业务系统1中某一应用的url链接,或者点击业务系统1中的某一应用时,用户终端可检测用户针对业务系统1的触发操作。用户终端可以基于该应用的url链接,获取到用户访问的业务系统1的业务系统域名,并向业务系统1发送携带有业务系统1域名的业务访问请求1。步骤502:业务系统1的sso客户端拦截业务访问请求1,并检测所述业务访问请求1中是否携带ticket1;若该业务访问请求1中未携带ticket1,则执行步骤503至步骤518;若该业务访问请求1中携带有ticket1,则执行步骤519至步骤530。步骤503:若该业务访问请求1中未携带ticket1,业务系统1的sso客户端则向所述用户终端返回用于重定向页面链接。该重定向页面链接用于指示用户终端基于该重定向页面链接获取重定向页面。步骤504:用户终端基于重定向页面链接获取重定向页面,并获取用户在所述重定向页面上输入的用户信息。该重定向页面用于指示用户在该重定向页面上输入用户信息。其中,所述用户信息包括:用户名和密码等。这里只是对用户信息进行示例性地说明,不进行具体地限定。步骤505:用户终端向所述主sso服务器发送登录请求;所述登录请求携带所述用户信息和所述业务系统1域名。用户终端可基于用户信息和所要访问的业务系统1域名,构造登录请求,并将该登录请求发送至主sso服务器。步骤506:主sso服务器确定与所述业务系统1域名对应的子sso服务器1。在实现时,主sso服务器上储存有业务系统域名与子sso服务器标识的对应关系,主sso服务器可在该对应关系中,查找与该登录请求携带的业务系统域名对应的子sso服务器标识(即子sso服务器1的标识)。步骤507:主sso服务器将所述登录请求转发给所述子sso服务器1。主sso服务器将该登录请求转发给步骤506中确定出的子sso服务器标识所指示的子sso服务器1。步骤508:子sso服务器1对所述登录请求中携带的身份信息进行校验。若校验不通过,则执行步骤509;若校验通过,则执行步骤510至步骤518。步骤509:若校验不通过,子sso服务器1则向用户终端返回提示消息。该提示消息用于指示该用户终端的用户信息校验不通过。步骤510:若校验通过,子sso服务器基于该登录请求中携带的用户信息生成ticket1。在实现时,子sso服务器可从用户信息中获取用户标识,比如uuid_a。该用户标识可以唯一标识一个用户。子sso服务器还可生成指定位数的随机数,如uuid_b。然后,子sso服务器基于获取到的用户标识和生成的随机数,生成ticket1。比如,子sso服务器可按照指定规则将uuid_a和uuid_b编译为ticket1。步骤511:子sso服务器1向与该业务系统域名对应的权限服务器1发送获取请求。该获取请求中携带了所述用户信息。步骤512:子sso服务器1接收权限服务器1返回的与该用户信息对应的可访问资源列表。权限服务器1在接收到该获取请求后,可查找与该用户信息对应的可访问资源列表,并将该可访问资源列表返回给子sso服务器1。步骤513:子sso服务器1向与该业务系统域名对应的用户服务器1发送获取请求。该获取请求携带有用户信息。步骤514:子sso服务器1接收用户服务器1返回的与该用户信息对应的用户登录行为记录。用户服务器1在接收到该获取请求后,可查找与该用户信息对应的用户登录行为记录,并将该用户登录行为记录返回给子sso服务器1。步骤515:子sso服务器1基于获取到的用户登录行为记录和可访问资源列表生成token1。在实现时,子sso服务器1可对用户登录行为记录和可访问资源列表拼接等操作,生成token1。步骤516:子sso服务器1可将所述ticket1和所述token1关联储存至所述业务系统域名对应的sso-store1。在实现时,子sso服务器可将ticket1作为key,将token1作为value存储至该业务系统域名对应的sso-store中。步骤517:子sso服务器1向用户终端返回生成的ticket1。该ticket1用于指示终端将该ticket1添加该上述业务访问请求中,并将该业务访问请求重新发送至业务系统1。步骤518:子sso服务器1向用户终端返回token1。用户终端可展示token1,以使得用户可查看token1中的用户登录行为记录和可访问资源列表。步骤519:若该业务访问请求中携带ticket1,则检测与该业务系统域名对应的sso-store1中是否存在与该ticket1对应的token1。若sso-store1中存在与该ticket1对应的token1,则执行步骤520;若sso-store1中不存在与该ticket1对应的token1,则执行步骤521至步骤530。步骤520:若与该业务系统域名对应的sso-store中存在与该ticket对应的token1,则业务系统1的sso客户端向用户终端返回该业务访问请求所访问的资源。若与该业务系统域名对应的sso-store中存在与该ticket对应的token1,则表明该用户终端成功登录该业务系统1。业务系统1的sso客户端向用户终端返回该业务访问请求所访问的资源。步骤521:若sso-store1中不存在与该ticket1对应的token1,则向用户终端返回无效消息。该无效消息用于指示ticket1对应的token1无效。步骤522:用户终端向主sso服务器发送token更新消息。所述token更新请求携带有所述ticket1、用户信息和所述业务系统1域名;步骤523:主sso服务器将所述token更新请求转发给业务系统1域名对应的子sso服务器1。主sso服务器可查找与该业务系统1域名对应的子sso服务器1,然后主sso服务器可将token更新请求转发给子sso服务器1。步骤524:子sso服务器1向与该业务系统域名对应的用户服务器1发送获取请求。该获取请求携带有用户信息。步骤525:子sso服务器1接收用户服务器1返回的与该用户信息当前对应的用户登录行为记录。用户服务器1在接收到该获取请求后,可查找与该用户信息对应的用户登录行为记录,并将该用户登录行为记录返回给子sso服务器1。步骤526:子sso服务器1向与该业务系统1域名对应的权限服务器1发送获取请求。该获取请求携带有用户信息。步骤527:子sso服务器1接收权限服务器1返回的与该用户信息对应的可访问资源列表。权限服务器1在接收到该获取请求后,可查找与该用户信息对应的可访问资源列表,并将该可访问资源列表返回给子sso服务器1。步骤528:子sso服务器1基于获取到的用户登录行为记录和可访问资源列表生成token2。在实现时,子sso服务器1可对用户登录行为记录和可访问资源列表拼接等操作,生成token2。步骤529:子sso服务器可将所述ticket1和所述token2关联储存至所述业务系统域名对应的sso-store1。在实现时,子sso服务器可将ticket1作为key,将token2作为value存储至该业务系统域名对应的sso-store中。步骤530:子sso服务器1向用户终端返回token2。用户终端可展示token2,以使得用户可查看token2中的用户登录行为记录和可访问资源列表。此外,本申请还提供了一种token的更新方法,参见图6,图6是本申请一示例性实施例示出的一种token更新方法的流程图。仍以图5所示的例子为例,假设权限服务器1储存的用户可访问资源列表被更新、或者用户服务器1储存的用户登录行为记录被更新,权限服务器或者用户服务器可以通知主sso服务器用户访问数据已被更新。在该用户访问数据被更新后,可执行步骤601至步骤610。步骤601:主sso服务器向用户终端发送用于指示用户访问数据被更新的消息。该被更新消息中携带有被更新的用户访问数据对应的用户信息和业务系统1的域名。步骤602:用户终端向主sso服务器发送token更新请求。所述token请求中携带有该用户终端对应的ticket、用户信息和业务系统1域名。步骤603:主sso服务器将该token更新请求转发给该token更新请求携带的业务系统1域名对应的子sso服务器1。主sso服务器可查找与该业务系统1域名对应的子sso服务器1,然后主sso服务器可将token更新请求转发给子sso服务器1。步骤604:子sso服务器1向与该业务系统1域名对应的用户服务器1发送获取请求。该获取请求携带有用户信息。步骤605:子sso服务器1接收用户服务器1返回的与该用户信息当前对应的用户登录行为记录。用户服务器1在接收到该获取请求后,可查找与该用户信息对应的用户登录行为记录,并将该用户登录行为记录返回给子sso服务器1。步骤606:子sso服务器1向与该业务系统1域名对应的权限服务器1发送获取请求。该获取请求携带有用户信息。步骤607:子sso服务器1接收权限服务器1返回的与该用户信息对应的可访问资源列表。权限服务器1在接收到该获取请求后,可查找与该用户信息对应的可访问资源列表,并将该可访问资源列表返回给子sso服务器1。步骤608:子sso服务器1基于获取到的用户登录行为记录和可访问资源列表生成token3。在实现时,子sso服务器1可对用户登录行为记录和可访问资源列表拼接等操作,生成token3。步骤609:子sso服务器1可将所述ticket1和所述token3关联储存至所述业务系统1域名对应的sso-store1。在实现时,子sso服务器可将ticket1作为key,将token3作为value存储至该业务系统域名对应的sso-store中。步骤610:子sso服务器1向用户终端返回token3。用户终端可展示token3,以使得用户可查看token2中的用户登录行为记录和可访问资源列表。此外,本申请还提供一种登出方法,参见图7,图7是本申请示出的一种登出方法的流程图,该方法可包括如下所示步骤。假设用户登出业务系统1,当用户退出业务系统1时可执行步骤701至步骤704。步骤701:用户终端响应于用户触发的登出操作,向主sso服务器发送登出请求。所述登出请求中携带有ticket1和登出的业务系统1域名。步骤702:主sso服务器确定与该登出的业务系统1域名对应的sso-store1。主sso服务器上还预配置了各业务系统域名与各sso-store标识的对应关系,主sso服务器可在该对应关系中,查找业务系统1域名对应的sso-store标识,查找出的sso-store标识所指示的sso-store即为sso-store1。步骤703:主sso服务器向sso-store1发送删除指令。所述删除指令中携带ticket1;步骤704:sso-store1删除本地储存的该ticket1以及该ticket1对应的token1。sso-store1可响应该删除指令,删除本地储存的该ticket1以及该ticket1对应的token1。参见图8,图8是本申请一示例性实施例示出的一种子sso服务器的硬件结构图。该子sso服务器包括:通信接口801、处理器802、机器可读存储介质803和总线804;其中,通信接口801、处理器802和机器可读存储介质803通过总线404完成相互间的通信。处理器802通过读取并执行机器可读存储介质803中与单点登录控制逻辑对应的机器可执行指令,可执行上文描述的单点登录方法。本文中提到的机器可读存储介质803可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质803可以是ram(radomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。参见图9,图9是本申请一示例性实施例示出的一种单点登录装置的框图。该单点登录装置可应用在图8所述的子sso服务器上,所述单点登录系统还包括:多个sso-store、多个业务系统、主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store,所述装置包括:接收单元901,用于接收所述主sso服务器发送的用户信息;所述用户信息由用户通过重定向页面提交;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;生成单元902,用于在对所述用户信息校验通过后,基于所述用户信息生成ticket;获取单元903,用于获取与所述用户信息对应的用户访问数据,生成第一token;储存单元904,用于将所述ticket和所述第一token关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:返回单元905,用于将所述ticket返回给所述用户终端,以使所述用户终端将所述ticket添加至所述业务访问请求中并发送给所述业务系统。可选的,所述生成单元902,具体用于从所述用户信息中获取用户标识;随机生成指定位数的随机数;基于所述用户标识和所述随机数生成ticket。可选的,所述用户访问数据包括:用户登录行为记录和可访问资源列表;所述单点登录系统还包括:与所述业务系统对应的权限服务器和用户服务器;所述用户服务器至少储存有各用户信息对应的用户登录行为记录;所述权限服务器至少存储有各用户信息对应的可访问资源列表;所述获取单元903,具体用于从所述用户服务器中获取与所述用户信息对应的用户登录行为记录;从所述权限服务器中获取与所述用户信息对应的可访问资源列表。可选的,所述储存单元904,具体用于将所述ticket作为键,第一token作为键值储存至所述sso-store。可选的,所述接收单元901,还用于接收到所述主sso服务器转发的来自于用户终端的token更新请求;所述token更新请求携带有所述ticket、用户信息和所述业务系统域名;所述获取单元903,还用于获取该用户信息当前对应的用户访问数据并生成第二token;所述储存单元904,还用于将第二token和所述ticket关联储存至所述业务系统域名对应的sso-store。参见图10,图10是本申请一示例性实施例示出的一种主sso服务器的硬件结构图。该主sso服务器包括:通信接口1001、处理器1002、机器可读存储介质1003和总线1004;其中,通信接口1001、处理器1002和机器可读存储介质1003通过总线1004完成相互间的通信。处理器1002通过读取并执行机器可读存储介质1003中与单点登录控制逻辑对应的机器可执行指令,可执行上文描述的单点登录方法。本文中提到的机器可读存储介质1003可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质1003可以是ram(radomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。参见图11,图11是本申请一示例性实施例示出的另一种单点登录装置的框图。所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端以及至少一个业务系统;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store。所述装置包括:获取单元1101,用于获取用户通过重定向页面提交的用户信息;所述重定向页面的链接是由所述业务系统在检测到所述用户终端发送的业务访问请求中未携带ticket时发送;第一确定单元1102,用于确定与所述业务系统对应的子sso服务器;第一转发单元1103,用于将所述用户信息转发给所述子sso服务器,以使得所述子sso服务器在对所述用户信息校验通过后,获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一token关联储存至所述业务系统的域名对应的sso-store。可选的,所述装置还包括:第一接收单元1104,用于接收由所述用户终端发送的token更新请求;所述token更新请求中携带用户信息和所述业务系统的域名;所述token更新请求是由所述用户终端在接收到所述业务系统返回的无效消息后发送,或者是由所述用户终端接收到用于指示用户访问数据被更新的消息后发送;第二转发单元1105,用于将所述token更新请求转发至与所述业务系统对应的所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:第二接收单元1106,用于接收所述用户终端发送的登出请求;所述登出请求中携带有ticket和登出的业务系统的域名;第二确定单元1107,用于确定与所述登出的业务系统对应的sso-store;删除单元1108,用于在查找到的sso-store中删除该登出请求携带的ticket及其关联的token。参见图12,图12是本申请一示例性实施例示出的一种业务系统的硬件结构图。该业务系统包括:通信接口1201、处理器1202、机器可读存储介质1203和总线1204;其中,通信接口1201、处理器1202和机器可读存储介质1203通过总线1204完成相互间的通信。处理器1202通过读取并执行机器可读存储介质1203中与单点登录控制逻辑对应的机器可执行指令,可执行上文描述的单点登录方法。本文中提到的机器可读存储介质1203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质1203可以是ram(radomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。参见图13,图13是本申请一示例性实施例示出的另一种单点登录装置的框图。该装置可应用在图12所示的业务系统中。所述单点登录系统还包括:多个子sso服务器、多个sso-store、用户终端和主sso服务器;每个业务系统对应有一个或多个子sso服务器,以及一个或多个sso-store;所述装置包括:接收单元1301,用于接收到所述用户终端发送业务访问请求;检测单元1302,用于检测所述业务访问请求中是否携带ticket;返回单元1303,用于若否,则向用户终端返回指向所述主sso服务器的重定向页面的链接,以由主sso服务器,用于将用户通过所述重定向页面提交的用户信息发给所述业务系统对应的子sso服务器,由所述子sso服务器对所述用户信息进行校验,并在校验通过后,基于所述用户信息生成票据ticket,并获取与该用户信息对应的用户访问数据并生成第一token,将生成的ticket和第一令牌token关联储存至所述业务系统对应的sso-store。可选的,所述装置还包括:查找单元1304,用于若是,则在本业务系统对应的sso-store中查找是否存在与该ticket对应的第一token;若存在,则向用户终端返回所述业务访问请求所访问的资源;若不存在,则向所述用户终端返回用于指示第一token无效的无效消息,以使得所述用户终端向所述主sso服务器发送携带有所述ticket、用户信息和所述业务系统的token更新请求,以由所述主sso服务器将该token更新请求转发至所述子sso服务器,以由所述子sso服务器获取该用户信息当前对应的用户访问数据并重新生成第二token,并将第二token和所述ticket关联储存至所述业务系统对应的sso-store。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1