单点登录方法及系统、电子设备技术方案

技术编号:16558624 阅读:19 留言:0更新日期:2017-11-14 17:42
本公开涉及一种单点登录方法及系统、电子设备,用于实现跨域应用系统间的会话共享。该单点登录方法可先通过第二应用系统建立起用户与服务器之间的会话,并将该会话对应的会话标识存储在服务器域名下的缓存数据中,在用户请求访问第一应用系统的受保护资源时,服务器会根据已存在的会话标识进行判断和授权,避免重新登录验证,从而实现跨域应用系统间的访问授权。本公开可实现单点登录和单点退出的功能。

Single sign on method, system and electronic equipment

The present invention relates to a single sign on method, system and electronic device, which is used to realize session sharing among cross domain application systems. The SSO method first through second application system is established between the user and the server session, and the session ID stored in the session corresponding to cache data in the server under the domain name, the user requests to access the first application system of protected resources, the server will be judged and authorized by the existing session ID avoid re login authentication, in order to achieve cross domain application access authorization. The public can realize the functions of single sign on and single point exit.

【技术实现步骤摘要】
单点登录方法及系统、电子设备
本公开涉及计算机网络
,尤其涉及一种单点登录方法及系统、电子设备。
技术介绍
单点登录(SingleSign-On,简称SSO)是指在多个应用系统中,用户只需进行一次身份认证,即可访问所有相互信任的应用系统。CAS(CentralAuthenticationService)是一种针对计算机网络应用的单点登录系统,CAS服务器负责对用户的身份进行认证,CAS客户端负责处理对应用系统中受保护资源的访问请求。目前,利用CAS实现单点登录的方法主要包括采用身份票据和采用令牌两种形式。第一,如图1所示,采用身份票据(ticket)的形式。具体而言,用户请求访问CAS客户端即应用系统的服务资源;CAS客户端重定向到CAS服务器,通过CAS服务器对用户的身份进行认证;CAS服务器随机生成一个身份票据ticket传递给CAS客户端;CAS客户端将身份票据ticket传递给CAS服务器进行验证;CAS服务器在验证成功后将认证结果返回至CAS客户端。基于这种方式,若要实现单点退出,可将CAS服务器和应用系统置于同一个域中,当一个应用系统退出时,则会清除同域名下的所有cookie,从而达到统一退出的目的,但是这种方式无法做到跨域的单点退出。若要实现跨域的单点退出,CAS服务器需要记录各个应用系统的注册信息,使得所有接入的子系统都同步退出当前登录会话,但这种方式对于应用系统的改造量较大,需要开放接口给CAS服务器以备通知调用。第二,如图2所示,采用令牌(token)的形式。具体而言,当用户请求访问应用系统A的服务资源时,应用系统A的CAS服务器对用户身份进行验证,并在验证成功后生成一令牌返回给用户;当用户请求访问应用系统B的服务资源时,将接收到的令牌传递给应用系统B,应用系统B的CAS服务器通过解密该令牌以获取用户信息,从而实现用户登录。基于这种方式,采用令牌进行验证的好处是,各个服务器都通过统一的密钥对令牌进行加密解密,因此具有安全性高、稳定性好、以及性能消耗低等优点,但必须保证各台应用服务器同域,无法解决跨域访问的问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种单点登录方法及系统、电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一个方面,提供一种单点登录方法,用于实现跨域应用系统间的会话共享;所述单点登录方法包括:接收第一应用系统发送的携带有第一应用标识的认证请求,并对所述第一应用标识进行验证;根据所述第一应用标识在服务器缓存中查找对应的会话,并在查找到所述会话后对所述会话对应的会话标识进行验证;根据所述第一应用标识以及所述会话标识生成对应于所述第一应用系统的第一访问令牌,并将所述会话标识以及所述第一访问令牌发送至所述第一应用系统;其中,所述会话由第二应用系统建立,且所述第一应用系统和所述第二应用系统为相互信任的系统;所述第一应用系统、所述第二应用系统、以及服务器的域名均不相同。本公开的一种示例性实施例中,所述单点登录方法还包括:接收第二应用系统发送的携带有第二应用标识以及用户登录信息的认证请求,并对所述第二应用标识以及所述用户登录信息进行验证;根据所述第二应用标识生成一会话标识以及对应于所述第二应用系统的第二访问令牌且存储于服务器缓存中,并将所述会话标识以及所述第二访问令牌发送至所述第二应用系统;接收所述第二应用系统根据所述会话标识以及所述第二访问令牌生成的验证信息,并对所述验证信息进行验证;响应验证结果返回一登录页面或者返回所述第二应用系统。本公开的一种示例性实施例中,所述生成一会话标识以及对应于所述第二应用系统的第二访问令牌包括:根据所述第二应用标识查找预存的对应于所述第二应用标识的私钥;根据所述第二应用标识以及所述私钥生成所述会话标识以及对应于所述第二应用系统的第二访问令牌,且所述会话标识以及所述第二访问令牌均具有时效性。本公开的一种示例性实施例中,所述第二应用标识、所述会话标识、以及所述第二访问令牌均通过所述私钥进行加密。本公开的一种示例性实施例中,所述将所述会话标识以及所述第二访问令牌发送至所述第二应用系统包括:通过安全超文本传输协议的形式将加密后的所述会话标识以及所述第二访问令牌发送至所述第二应用系统。本公开的一种示例性实施例中,所述接收所述第二应用系统根据所述会话标识以及所述第二访问令牌生成的验证信息,并对所述验证信息进行验证包括:接收所述第二应用系统通过安全超文本传输协议的形式发送的根据解密后的所述会话标识以及所述第二访问令牌所生成的验证信息;根据所述服务器缓存中存储的所述第二访问令牌对所述验证信息中的第二访问令牌进行验证。本公开的一种示例性实施例中,所述响应验证结果返回一登录页面或者返回所述第二应用系统包括:验证失败时,响应所述验证失败的结果返回一所述登录页面以重新登录;或者,验证成功时,响应所述验证成功的结果返回所述第二应用系统以通过认证。本公开的一种示例性实施例中,所述在服务器缓存中查找对应的会话,并在查找到所述会话后对所述会话对应的会话标识进行验证包括:查找根据所述第二应用标识生成的所述会话标识,并对所述会话标识的时效性进行验证。本公开的一种示例性实施例中,所述会话标识以及所述第二访问令牌还存储于所述第二应用系统的缓存中。本公开的一种示例性实施例中,所述会话标识以及所述第一访问令牌还存储于所述第一应用系统的缓存中。本公开的一种示例性实施例中,所述单点登录方法还包括:在接收第二应用系统发送的携带有第二应用标识以及用户登录信息的认证请求之前,判断所述第二应用系统的缓存中是否存在会话标识;以及,在接收第一应用系统发送的携带有第一应用标识的认证请求之前,判断所述第一应用系统的缓存中是否存在会话标识。根据本公开的一个方面,提供一种单点登录系统,用于实现跨域应用系统间的会话共享,所述单点登录系统包括:第一接收模块,用于接收第一应用系统发送的携带有第一应用标识的认证请求,并对所述第一应用标识进行验证;查找模块,用于根据所述第一应用标识在服务器缓存中查找对应的会话,并在查找到所述会话后对所述会话对应的会话标识进行验证;第一处理模块,用于根据所述第一应用标识以及所述会话标识生成对应于所述第一应用系统的第一访问令牌,并将所述会话标识以及所述第一访问令牌发送至所述第一应用系统;其中,所述会话由第二应用系统建立,且所述第二应用系统和所述第一应用系统为相互信任的系统;所述第二应用系统、所述第一应用系统、以及服务器的域名均不相同。本公开的一种示例性实施例中,所述单点登录系统还包括:第二接收模块,用于接收第二应用系统发送的携带有第二应用标识以及用户登录信息的认证请求,并对所述第二应用标识以及所述用户登录信息进行验证;第二处理模块,用于根据所述第二应用标识生成一会话标识以及对应于所述第二应用系统的第二访问令牌且存储于服务器缓存中,并将所述会话标识以及所述第二访问令牌发送至所述第二应用系统;所述第二接收模块还用于接收所述第二本文档来自技高网
...
单点登录方法及系统、电子设备

【技术保护点】
一种单点登录方法,用于实现跨域应用系统间的会话共享,其特征在于,所述单点登录方法包括:接收第一应用系统发送的携带有第一应用标识的认证请求,并对所述第一应用标识进行验证;根据所述第一应用标识在服务器缓存中查找对应的会话,并在查找到所述会话后对所述会话对应的会话标识进行验证;根据所述第一应用标识以及所述会话标识生成对应于所述第一应用系统的第一访问令牌,并将所述会话标识以及所述第一访问令牌发送至所述第一应用系统;其中,所述会话由第二应用系统建立,且所述第一应用系统和所述第二应用系统为相互信任的系统;所述第一应用系统、所述第二应用系统、以及服务器的域名均不相同。

【技术特征摘要】
1.一种单点登录方法,用于实现跨域应用系统间的会话共享,其特征在于,所述单点登录方法包括:接收第一应用系统发送的携带有第一应用标识的认证请求,并对所述第一应用标识进行验证;根据所述第一应用标识在服务器缓存中查找对应的会话,并在查找到所述会话后对所述会话对应的会话标识进行验证;根据所述第一应用标识以及所述会话标识生成对应于所述第一应用系统的第一访问令牌,并将所述会话标识以及所述第一访问令牌发送至所述第一应用系统;其中,所述会话由第二应用系统建立,且所述第一应用系统和所述第二应用系统为相互信任的系统;所述第一应用系统、所述第二应用系统、以及服务器的域名均不相同。2.根据权利要求1所述的单点登录方法,其特征在于,所述单点登录方法还包括:接收第二应用系统发送的携带有第二应用标识以及用户登录信息的认证请求,并对所述第二应用标识以及所述用户登录信息进行验证;根据所述第二应用标识生成一会话标识以及对应于所述第二应用系统的第二访问令牌且存储于服务器缓存中,并将所述会话标识以及所述第二访问令牌发送至所述第二应用系统;接收所述第二应用系统根据所述会话标识以及所述第二访问令牌生成的验证信息,并对所述验证信息进行验证;响应验证结果返回一登录页面或者返回所述第二应用系统。3.根据权利要求2所述的单点登录方法,其特征在于,所述生成一会话标识以及对应于所述第二应用系统的第二访问令牌包括:根据所述第二应用标识查找预存的对应于所述第二应用标识的私钥;根据所述第二应用标识以及所述私钥生成所述会话标识以及对应于所述第二应用系统的第二访问令牌,且所述会话标识以及所述第二访问令牌均具有时效性。4.根据权利要求3所述的单点登录方法,其特征在于,所述第二应用标识、所述会话标识、以及所述第二访问令牌均通过所述私钥进行加密。5.根据权利要求4所述的单点登录方法,其特征在于,所述将所述会话标识以及所述第二访问令牌发送至所述第二应用系统包括:通过安全超文本传输协议的形式将加密后的所述会话标识以及所述第二访问令牌发送至所述第二应用系统。6.根据权利要求5所述的单点登录方法,其特征在于,所述接收所述第二应用系统根据所述会话标识以及所述第二访问令牌生成的验证信息,并对所述验证信息进行验证包括:接收所述第二应用系统通过安全超文本传输协议的形式发送的根据解密后的所述会话标识以及所述第二访问令牌所生成的验证信息;根据所述服务器缓存中存储的所述第二访问令牌对所述验证信息中的第二访问令牌进行验证。7.根据权利要求2所述的单点登录方法,其特征在于,所述响应验证结果返回一登录页面或者返回所述第二应用系统包括:验证失败时,响应所述验证失败的结果返回一所述登录页面以重新登录;或...

【专利技术属性】
技术研发人员:谭华林杨珍良
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1