一种单点登录多系统的方法和装置制造方法及图纸

技术编号:20164598 阅读:31 留言:0更新日期:2019-01-19 00:17
本发明专利技术提供了一种单点登录多系统的方法和装置。通过在完成验证登录单一系统后,将用户唯一身份标识写入完成登录后的系统的cookie中,并将用户信息写入redis服务器,进而在请求登录其他一个或多个相关系统时,对于同域的待登录系统,从该cookie中读取用户唯一身份标识,并根据用户唯一身份标识从redis服务器拉取对应的用户信息,从而实现对该待登录系统的自动登录。进一步地,对于跨域的待登录系统,通过设置信任列表,对于在信任列表中的待登录系统按照同域系统的方式进行操作,实现自动登录。本发明专利技术实现了在同域和跨域的情况下,单一系统登录后,其他相关系统不必重复登录的功能。

【技术实现步骤摘要】
一种单点登录多系统的方法和装置
本专利技术涉及计算机
,特别是一种单点登录多系统的方法、单点登录多系统的装置、计算机存储介质以及计算设备。
技术介绍
在实际应用中,用户在工作、休闲等场合经常会需要登录多个系统进行处理操作,这些系统间往往存在一定关联,因此用户可采用与用户的唯一身份标识对应的同一用户账号和密码来登录这些系统。例如,对于企业的每位员工来说,在其工作期间,可能需要登录企业的人力资源系统、工作日志系统、产品评测系统、产品发布系统等多个系统。通常,企业会为每位员工分配用户唯一身份标识,从而每位员工能够以与其用户唯一身份标识对应的用户账号和密码来登录上述这些系统,方便企业的管理。现有技术中,在登录上述这些系统时,需要用户以该用户账号和密码逐一登录这些系统,操作繁琐,用户体验差。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的单点登录多系统的方法、单点登录多系统的装置、计算机存储介质以及计算设备。根据本专利技术实施例的一方面,提供了一种单点登录多系统的方法,应用于单点登录服务器,包括:步骤1:接收来自浏览器侧的对待登录系统的登录请求;步骤2:判断所述浏览器侧是否存在在先系统完成登录后保存的当前cookie;若否,则执行步骤3:发送验证请求至登录信息服务器,当所述登录信息服务器根据所接收的验证请求对输入的用户信息进行验证并通过后,接收所述登录信息服务器返回的验证通过信息,从所述登录信息服务器获取所述用户信息和与所述用户信息对应的用户唯一身份标识,将所述用户唯一身份标识写入所述待登录系统的cookie中,并将所述用户信息写入redis服务器,从而完成登录所述待登录系统;若是,则执行步骤4:比较所述待登录系统的父域名与所述当前cookie对应的系统的父域名是否相同;若相同,则执行步骤5:读取所述当前cookie中保存的用户唯一身份标识,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,并根据所拉取的用户信息将所述待登录系统的登录状态设置为已登录,从而实现对所述待登录系统的自动登录;其中,还采用上述步骤,实现对其他一个或多个待登录系统的自动登录。可选地,在步骤4之后,所述方法还包括:步骤6:若所述待登录系统的父域名与所述当前cookie对应的系统的父域名不同,则判断所述待登录系统的域名是否在指定信任列表中;若所述待登录系统的域名在所述指定信任列表中,则执行步骤5;若所述待登录系统的域名不在所述指定信任列表中,则拒绝登录。可选地,在步骤3中,所述验证请求携带有所述待登录系统的统一资源定位符URL;所述验证通过信息携带有所述待登录系统的URL和所述登录信息服务器在对输入的用户信息进行验证并通过后生成的用户信息获取钥匙;从所述登录信息服务器获取所述用户信息和对应的用户唯一身份标识,包括:调用所述单点登录服务器的第一用户信息获取接口,向所述登录信息服务器发送携带所述用户信息获取钥匙的第一用户信息获取请求,并接收所述登录信息服务器根据所述第一用户信息获取请求返回的与所述用户信息获取钥匙对应的用户信息和用户唯一身份标识。可选地,在步骤3中,将所述用户信息写入redis服务器,包括:通过调用所述单点登录服务器的指定写入接口将所述用户信息写入redis服务器。可选地,在步骤5中,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,包括:调用所述单点登录服务器的第二用户信息获取接口,向所述redis服务器发送携带有所读取的用户唯一身份标识的第二用户信息获取请求,并接收所述redis服务器根据所述第二用户信息获取请求返回的与该用户唯一身份标识对应的用户信息。可选地,所述redis服务器中写入的用户信息设置有过期时间,此时,接收所述redis服务器根据所述第二用户信息获取请求返回的与该用户唯一身份标识对应的用户信息,包括:当所述redis服务器在接收到所述携带有所读取的用户唯一身份标识的第二用户信息获取请求后,在自身查找到与该读取的用户唯一身份标识对应的用户信息时,接收所述redis服务器返回的与该用户唯一身份标识对应的用户信息;当所述redis服务器在接收到所述携带有所读取的用户唯一身份标识的第二用户信息获取请求后,在自身未查找到与该读取的用户唯一身份标识对应的用户信息时,接收所述redis服务器返回的指示未获取成功的信息,并执行步骤3。可选地,在步骤3中,从所述登录信息服务器获取所述用户信息和与所述用户信息对应的用户唯一身份标识之后,还包括:将所述用户信息写入所述待登录系统的session中。可选地,在步骤1之后且步骤2之前,所述方法还包括:判断是否存在所述待登录系统的session;若存在,则读取所述待登录系统的session中保存的用户信息;根据所述用户信息将所述待登录系统的登录状态设置为已登录,从而实现自动登录所述待登录系统;若不存在,则执行步骤2。可选地,所述用户唯一身份标识包括用户邮箱的MD5值;所述用户信息包括用户登录账号和密码。可选地,与所述登录信息服务器和所述redis服务器之间的信息传输采用https协议进行。根据本专利技术实施例的另一方面,还提供了一种单点登录多系统的装置,应用于单点登录服务器,包括:登录请求接收模块,适于执行步骤1:接收来自浏览器侧的对待登录系统的登录请求;cookie判断模块,适于执行步骤2:判断所述浏览器侧是否存在在先系统完成登录后保存的当前cookie;验证登录模块,适于若所述浏览器侧不存在在先系统完成登录后保存的当前cookie,则执行步骤3:发送验证请求至登录信息服务器,当所述登录信息服务器根据所接收的验证请求对输入的用户信息进行验证并通过后,接收所述登录信息服务器返回的验证通过信息,从所述登录信息服务器获取所述用户信息和与所述用户信息对应的用户唯一身份标识,将所述用户唯一身份标识写入所述待登录系统的cookie中,并将所述用户信息写入redis服务器,从而完成登录所述待登录系统;同域/跨域判断模块,适于若所述浏览器侧存在在先系统完成登录后保存的当前cookie,则执行步骤4:比较所述待登录系统的父域名与所述当前cookie对应的系统的父域名是否相同;以及同域自动登录模块,适于若所述待登录系统的父域名与所述当前cookie对应的系统的父域名相同,则执行步骤5:读取所述当前cookie中保存的用户唯一身份标识,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,并根据所拉取的用户信息将所述待登录系统的登录状态设置为已登录,从而实现对所述待登录系统的自动登录;其中,还采用上述模块执行相应步骤,实现对其他一个或多个待登录系统的自动登录。可选地,所述装置还包括:跨域自动登录模块,适于在所述同域/跨域判断模块执行所述步骤4之后,执行步骤6:若所述待登录系统的父域名与所述当前cookie对应的系统的父域名不同,则判断所述待登录系统的域名是否在指定信任列表中;若所述待登录系统的域名在所述指定信任列表中,则触发所述同域自动登录模块执行步骤5;若所述待登录系统的域名不在所述指定信任列表中,则拒绝登录。可选地,所述验证请求携带有所述待本文档来自技高网...

【技术保护点】
1.一种单点登录多系统的方法,应用于单点登录服务器,包括:步骤1:接收来自浏览器侧的对待登录系统的登录请求;步骤2:判断所述浏览器侧是否存在在先系统完成登录后保存的当前cookie;若否,则执行步骤3:发送验证请求至登录信息服务器,当所述登录信息服务器根据所接收的验证请求对输入的用户信息进行验证并通过后,接收所述登录信息服务器返回的验证通过信息,从所述登录信息服务器获取所述用户信息和与所述用户信息对应的用户唯一身份标识,将所述用户唯一身份标识写入所述待登录系统的cookie中,并将所述用户信息写入redis服务器,从而完成登录所述待登录系统;若是,则执行步骤4:比较所述待登录系统的父域名与所述当前cookie对应的系统的父域名是否相同;若相同,则执行步骤5:读取所述当前cookie中保存的用户唯一身份标识,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,并根据所拉取的用户信息将所述待登录系统的登录状态设置为已登录,从而实现对所述待登录系统的自动登录;其中,还采用上述步骤,实现对其他一个或多个待登录系统的自动登录。

【技术特征摘要】
1.一种单点登录多系统的方法,应用于单点登录服务器,包括:步骤1:接收来自浏览器侧的对待登录系统的登录请求;步骤2:判断所述浏览器侧是否存在在先系统完成登录后保存的当前cookie;若否,则执行步骤3:发送验证请求至登录信息服务器,当所述登录信息服务器根据所接收的验证请求对输入的用户信息进行验证并通过后,接收所述登录信息服务器返回的验证通过信息,从所述登录信息服务器获取所述用户信息和与所述用户信息对应的用户唯一身份标识,将所述用户唯一身份标识写入所述待登录系统的cookie中,并将所述用户信息写入redis服务器,从而完成登录所述待登录系统;若是,则执行步骤4:比较所述待登录系统的父域名与所述当前cookie对应的系统的父域名是否相同;若相同,则执行步骤5:读取所述当前cookie中保存的用户唯一身份标识,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,并根据所拉取的用户信息将所述待登录系统的登录状态设置为已登录,从而实现对所述待登录系统的自动登录;其中,还采用上述步骤,实现对其他一个或多个待登录系统的自动登录。2.根据权利要求1所述的方法,其中,在步骤4之后,还包括:步骤6:若所述待登录系统的父域名与所述当前cookie对应的系统的父域名不同,则判断所述待登录系统的域名是否在指定信任列表中;若所述待登录系统的域名在所述指定信任列表中,则执行步骤5;若所述待登录系统的域名不在所述指定信任列表中,则拒绝登录。3.根据权利要求1或2所述的方法,其中,在步骤3中,所述验证请求携带有所述待登录系统的统一资源定位符URL;所述验证通过信息携带有所述待登录系统的URL和所述登录信息服务器在对输入的用户信息进行验证并通过后生成的用户信息获取钥匙;从所述登录信息服务器获取所述用户信息和对应的用户唯一身份标识,包括:调用所述单点登录服务器的第一用户信息获取接口,向所述登录信息服务器发送携带所述用户信息获取钥匙的第一用户信息获取请求,并接收所述登录信息服务器根据所述第一用户信息获取请求返回的与所述用户信息获取钥匙对应的用户信息和用户唯一身份标识。4.根据权利要求1-3中任一项所述的方法,其中,在步骤3中,将所述用户信息写入redis服务器,包括:通过调用所述单点登录服务器的指定写入接口将所述用户信息写入redis服务器。5.根据权利要求1-4中任一项所述的方法,其中,在步骤5中,根据所读取的用户唯一身份标识从所述redis服务器拉取与该用户唯一身份标识对应的用户信息,包括:调用所述单点登录服务器的第二用户信息获取接口,向所述redis服务器发送携带有所读取的用户唯一身份标识的第二用户信息获取请求,并接收所述redis服务器根据所述第二用户信息获取请求返回的与该用户唯一身份标识对应的用户信息。6.根据权利要求5所述的方法,其中,所述redis...

【专利技术属性】
技术研发人员:韩竞竞李欣龙慧
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1