CN104753895A - 一种父域站点下的多个子域站点的认证方法和系统 - Google Patents

一种父域站点下的多个子域站点的认证方法和系统 Download PDF

Info

Publication number
CN104753895A
CN104753895A CN201310753106.4A CN201310753106A CN104753895A CN 104753895 A CN104753895 A CN 104753895A CN 201310753106 A CN201310753106 A CN 201310753106A CN 104753895 A CN104753895 A CN 104753895A
Authority
CN
China
Prior art keywords
website
user
subdomain
message
log
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
Application number
CN201310753106.4A
Other languages
English (en)
Other versions
CN104753895B (zh
Inventor
秦振海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201310753106.4A priority Critical patent/CN104753895B/zh
Publication of CN104753895A publication Critical patent/CN104753895A/zh
Application granted granted Critical
Publication of CN104753895B publication Critical patent/CN104753895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种父域站点下的多个子域站点的认证方法和系统。当用户请求登录任意一个子域站点时,该方法包括:根据用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在登录信息;如果存在,发送子域站点的用户已登录界面;如果均不存在,发送父域站点的登录信息输入界面,显示父域站点的登录信息输入界面;父域站点服务器对用户的登录信息进行认证,当认证成功时,将用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端实现子域站点的认证。本发明提供的技术方案能够解决现有的每个子域站点都要暴露出一个写cookie接口,用户登录自身站点后,都要依次调用其他站点的写cookie接口,存在过程繁琐的问题。

Description

一种父域站点下的多个子域站点的认证方法和系统
技术领域
本发明涉及计算机领域,特别是涉及一种父域站点下的多个子域站点的认证方法和系统。
背景技术
随着信息化的不断发展,政府、企业等单位逐步建立了众多信息系统,并随着业务不断拓展还需要建立类似系统。然而在服务产品持续增加的同时,也对提升用户体验、提高业务粘性提出了更高要求。一方面,从提升业务竞争力实现业务深度融合的角度出发,急迫需要各业务采用统一的身份标识以使用户能够无缝地在各业务间切换,另一方面,从提升用户体验的角度出发,需要尽快改变用户在不同业务上反复注册并记忆大量用户名和密码的现状,降低用户的业务使用门槛。
在现有的技术中,在用户登录父域站点下的多个子域站点的过程中,举例为:登录子域站点A时,子域站点A对用户身份校验,校验成功,写本域cookie,成功标识。同样的,在登录其他子域站点时,客户端向对应的子域站点调用写cookie接口,该子域站点向客户端写cookie。由此可见,当子域站点过多的情况下,每个子域站点都要暴露出一个写cookie接口。
此外,当用户通过客户端请求子域站点时,该子域站点检查本域cookie,如果cookie存在,用户设置为登录状态,返回用户请求界面。即用户登录自身站点后,都要依次调用其他站点的写cookie接口,
综上所述,当子站点过多的情况下,每个子域站点都要暴露出一个写cookie接口,且用户登录自身站点后,都要依次调用其他站点的写cookie接口,过程繁琐,增大开发联调工作量。
发明内容
本发明提供了一种父域站点下的多个子域站点的认证方法和系统,本发明提供的技术方案能够解决当子站点过多的情况下,每个子域站点都要暴露出一个写cookie接口,且用户登录自身站点后,都要依次调用其他站点的写cookie接口,过程繁琐,增大开发联调工作量。
本发明公开了一种父域站点下的多个子域站点的认证方法,当用户请求登录任意一个子域站点时,该方法包括:
子域站点服务器接收客户端发送的所述用户的登录请求消息,根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息;
如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;
如果均不存在,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
父域站点服务器接收客户端发送的所述父域站点的登录信息输入界面上的登录信息;对所述用户的登录信息进行认证,当认证成功时,将所述用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。
在上述方法中,所述根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息,如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证包括:
子域站点服务器根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;
如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;
如果不存在,所述子域站点服务器根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证,并将所述用户的登录信息写入所述子域站点的cookie中。
在上述方法中,所述将所述用户的登录信息写入父域站点的cookie中之前,所述方法进一步包括:
父域站点服务器从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密;
相应的,所述将所述用户的登录信息写入父域站点的cookie中包括:
将所述加密后的所述用户的登录信息写入所述父域站点的cookie中。
在上述方法中,所述根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息包括:
子域站点服务器从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;
相应的,如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端包括:
当根据所述私钥对所述子域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。
在上述方法中,所述所述子域站点服务器根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息包括:
子域站点服务器从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息;
相应的,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端包括:
当根据所述私钥对所述父域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。
在上述方法中,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证包括:
所述子域站点服务器根据解密得到的所述用户的登录信息,登录所述子域站点,并发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
在上述方法中,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面包括:
子域站点服务器发送携带所述子域站点标识信息的父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
相应的,所述发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证包括:
父域站点服务器发送认证成功消息至客户端;
客户端根据所述认证成功消息和所述子域站点标识信息,发送子域站点显示界面至所述客户端,使得客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
本发明还公开了一种父域站点下的多个子域站点的认证系统,该系统包括:客户端,父域站点服务器和一个或多个子域站点服务器;
子域站点服务器,用于当用户请求登录任意一个子域站点时,接收客户端发送的所述用户的登录请求消息,根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息;如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;如果均不存在,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
父域站点服务器,用于接收客户端发送的所述父域站点的登录信息输入界面上的登录信息;对所述用户的登录信息进行认证,当认证成功时,将所述用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。
在上述系统中,所述子域站点服务器,用于根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;如果存在,发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;如果不存在,根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证,并将所述用户的登录信息写入所述子域站点的cookie中。
在上述系统中,所述父域站点服务器,进一步用于将所述用户的登录信息写入父域站点的cookie中之前,从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密;将所述加密后的所述用户的登录信息写入所述父域站点的cookie中;
所述子域站点服务器,用于从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;以及根据所述私钥对所述子域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端;或者,用于从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息;以及根据所述私钥对所述父域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端;
所述子域站点服务器,用于根据解密得到的所述用户的登录信息,登录所述子域站点,并发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
综上所述,本发明提供的技术方案,在登录父域站点下的其他子域站点时,如果该子域站点没有被登录过,可以从父域站点的cookie中获取用户的登录信息进行登录。并且,在登录子域站点时,是弹出父域站点的登录界面,即显示父域站点的登录信息输入界面,因此不会存在子域站点存在cookie,而父域站点不存在cookie的情况。由此可见,在本发明提供是技术方案中,通过在登录子域站点时显示父域站点的登录界面,将用户的登录信息保存到父域站点中,在需要登录子域站点时,可以通过获取父域站点的cookie,获取用户的登录信息实现了一次登录,处处登陆。
附图说明
图1是本发明中一种父域站点下的多个子域站点的认证方法的流程图;
图2是本发明实施例一中的父域站点下的多个子域站点的认证方法的信令流程图;
图3是本发明实施例二中的父域站点下的多个子域站点的认证方法的信令流程图;
图4是本发明一种实施例中的父域站点下的多个子域站点的认证系统结构示意图;
图5是本发明一种实施例中的父域站点下的多个子域站点的认证系统详细结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明中一种父域站点下的多个子域站点的认证方法的流程图;该方法不仅适用于在用户登录父域站点下的任意一个子域站点的情况;还能适用于在登录父域站点的情况后访问任意一个子域站点的情况。如图1所示,该方法包括如下步骤:
步骤101,子域站点服务器接收客户端发送的所述用户的登录请求消息,根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息。
步骤102,如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证。
步骤103,如果均不存在,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面。
步骤104,父域站点服务器接收客户端发送的所述父域站点的登录信息输入界面上的登录信息;对所述用户的登录信息进行认证,当认证成功时,将所述用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。
由此可见,在本发明提供是技术方案中,通过在登录子域站点时显示父域站点的登录界面,将用户的登录信息保存到父域站点中,在需要登录子域站点时,可以通过获取父域站点的cookie,获取用户的登录信息实现了一次登录,处处登陆。
图2是本发明实施例一中的父域站点下的多个子域站点的认证方法的信令流程图。该方法适用于在用户通过客户端登录父域站点下的任意一个子域站点的情况,参见图2所示,该方法包括如下步骤。
步骤201,用户通过客户端向任意一个子域站点发送登录请求消息。
本实施例中,用户通过客户端请求登录任意一个子域站点时,向该子域站点发送登录请求消息。子域站点服务器接收客户端发送的所述用户的登录请求消息。
步骤202,检测子域站点的cookie中否存在所述用户的登录信息。
在步骤202中,子域站点服务器根据客户端发送的登录请求消息,检测该登录请求消息中携带本子域站点的cookie中是否存在该用户的登录信息。如果存在进行步骤203,如果不存在进行步骤204。
步骤203,显示所述子域站点的用户已登录界面。
在步骤203中,子域站点服务器从本子域站点的cookie中获取到该用户的登录信息,根据获取到的登录信息登录到该子域站点。并且在登录之后,显示该子域站点的用户已登录界面。具体为:子域站点服务器发送子域站点的用户已登录界面至客户端,使得客户端根据子域站点的用户已登录界面实现所述子域站点的认证。
步骤204,检测父域站点的cookie中是否存在所述用户的登录信息。
在步骤204中,子域站点服务器根据客户端发送的登录请求消息,检测该登录请求消息中携带父域站点的cookie中是否存在该用户的登录信息。如果存在进行步骤205,如果不存在,进行步骤208。
步骤205,从父域站点的cookie中取出该用户的登录信息。
步骤206,显示所述子域站点的用户已登录界面。
在步骤206中,子域站点服务器从父域站点的cookie中获取到该用户的登录信息,根据获取到的登录信息登录到该子域站点。并且在登录之后,显示该子域站点的用户已登录界面。具体为:子域站点服务器发送子域站点的用户已登录界面至客户端,使得客户端根据子域站点的用户已登录界面实现所述子域站点的认证。
步骤207,将获取的用户登录信息写入本子域站点的cookie中。
步骤208,向父域站点发送携带所述子域站点标识信息的父域站点登录请求消息。
在步骤208中,子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端。
步骤209,显示父域站点的登录信息输入界面。
在步骤208和步骤209中,子域站点服务器在本子域站点的cookie和父域站点的cookie中都没有查找到该用户的登录信息的情况下,通过向客户端发送携带父域站点URL地址的请求消息,重定向到父域站点的登入界面,即使得所述客户端显示父域站点的登录信息输入界面。
步骤210,获取用户输入的登录信息。
在步骤210中,父域站点服务器接收客户端发送的父域站点的登录信息输入界面上的登录信息。即用户在弹出的父域站点的登录信息输入界面中输入登录信息。
步骤211,父域站点对接收到的登录信息进行认证。
在步骤211中,父域站点对用户输入的用户名和密码进行认证。如果认证成功则进行步骤212,如果认证失败则进行步骤214。
步骤212,在认证成功之后,将用户的登录信息写入父域站点的cookie中。
步骤213,重定向到所述子域站点,显示所述子域站点的用户已登录界面。
在步骤213中,父域站点服务器发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。即在父域站点服务器认证成功之后,通过客户端重定向到该子域站点,相当于再次进入步骤201,即子域站点服务器接收客户端发送的所述用户的登录请求消息。
在本发明的一种具体实施例中,在步骤213中,在父域站点认证成功之后,通过客户端重定向到该子域站点之后,子域站点检测该子域站点的cookie中否存在该用户的登录信息;如果存在,则进行步骤203,显示所述子域站点的用户已登录界面;如果不存在,则进行步骤204,检测父域站点的cookie中是否存在所述用户的登录信息;如果存在,则进行步骤205和步骤206显示所述子域站点的用户已登录界面,并将所述用户的登录信息写入所述子域站点的cookie中。
步骤214,在认证失败之后,返回错误信息。
在步骤214中,父域站点服务器对用户输入的登录进行认证失败之后,返回相应的失败原因,例如用户名不存在,或者用户名或者密码错误等。
由上述可知,本发明提供的技术方案中,通过将各子域站点的登录界面统一使用父域站点的登录界面,即用户请求登录子域站点,弹出父域站点的登录信息输入界面。将用户输入的登录信息保存到父域站点的cookie中,并在之后用户登录该父域站点下的任意一个子域站点时,能够从父域站点的cookie中获取用户登录信息。根据获取的登录信息进行登录到该子域站点。
具体的,登录子域站点时,可以通过链接连到父域站点的登录界面。用户输入用户名,密码,点击登录按钮。父域站点服务器校验成功后,客户端写入父域站点cookie,并重定向到该子域站点,子域站点服务器会先检测本域cookie,如果本子域站点中的cookie存在,设置用户为登录状态。如果本域cookie不存在,检测父域站点中的cookie,如果父域站点中的cookie不存在,显示登录界面。如果父域站点在的cookie存在。则设置用户为登录状态。
在本发明的一种较佳实施例中,为了更好的对用户的登录信息进行保护,进一步包括:父域站点服务器在认证成功之后,从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密。图3是本发明实施例二中的父域站点下的多个子域站点的认证方法的信令流程图。参见图3所示,该方法包括如下步骤。
步骤301,用户通过客户端向任意一个子域站点发送登录请求。
在步骤301中,子域站点服务器接收客户端发送的所述用户的登录请求消息。具体为,用户通过在客户端的地址栏中输入子域站点的URL地址,请求访问该子域站点。其中,在发送的访问子域站点的登录请求消息中携带客户端中保存的cookie包括:在登录请求中携带所有站点的cookie,即包括父域站点的cookie和父域站点下所有子域站点的cookie。
步骤302,检测子域站点的cookie中否存在所述用户的登录信息。如果存在进行步骤303,如果不存在进行步骤304。
在步骤302中,子域站点服务器根克客户端发送的登录请求消息,检测该登录请求中携带的本子域站点的cookie中是否存在该用户的登录信息。
在本发明的一种具体实施例中,检测cookie中存在的用户登录信息具体为,在cookie中检测是否存在将登录信息中的用户名进行加密后得到的cookie值。
步骤303,从密钥服务器获取私钥。如果解密成功,则进行步骤304,如果解密不成功,则进行步骤306。
在步骤303中,子域站点服务器从密钥服务器中获取私钥,根据私钥对子域站点cookie中的加密后的所述用户的登录信息进行解密,解密成功之后,得到所述用户的登录信息。
在本发明的一种具体实施例中,子域站点服务器从本子域站点的cookie中查找到了该用户的登录信息中对应的cookie值。然后从密钥服务器获取对应的私钥,根据私钥进行解密。
其中,在对登录信息进行认证,并在认证成功之后,从密钥服务器获取一个私钥,该私钥与该用户的登录信息中的用户名相对应;同样的,在对相应的cookie值进行解密的过程中,从密钥服务器获取的私钥与加密的私钥相同。即通过同一个私钥对用户名名进行加密得到加密字符串;解密过程中,通过同一个私钥对加密字符串进行解密,如果解密成功,就能获取到该用户的登录信息。反之,如果解密不成功或者未找到对应的加密字符串,则说明未在该站点登录过。
步骤304,根据私钥解密成功,得到所述用户的登录信息。
在步骤304之后,进行步骤305。
步骤305,显示所述子域站点的用户已登录界面。
在步骤305中,子域站点服务器发送子域站点的用户已登录界面至客户端,使得客户端根据子域站点的用户已登录界面实现所述子域站点的认证。具体为,子域站点服务器从本子域站点的cookie中获取到该用户的登录信息,根据获取到的登录信息登录到该子域站点,并在登录之后,显示该子域站点的用户已登录界面。
步骤306,根据私钥解密失败或者子域站点中的cookie中不存在。
在步骤306之后,进行步骤307。
步骤307,检测父域站点的cookie中是否存在所述用户的登录信息。
在步骤307中,子域站点服务器根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息,如果存在进行步骤308,如果不存在进行步骤313。
步骤308,从密钥服务器获取私钥。如果解密成功,则进行步骤310,如果解密不成功,则进行步骤313。
在步骤308中,子域站点服务器从密钥服务器中获取私钥,根据私钥对父域站点cookie中的加密后的用户的登录信息进行解密,解密成功之后,得到所述用户的登录信息。
在本发明的一种具体实施例中,子域站点服务器从父域站点的cookie中查找到了该用户的登录信息中对应的cookie值。然后从密钥服务器获取对应的私钥,根据私钥对所述cookie值进行解密。
步骤310,根据私钥解密成功。
在步骤310之后,进行步骤311。
步骤311,显示该子域站点的用户已登录界面。
在步骤311中,根据用户的登录信息得到子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。即根据解密成功得到的用户登录信息,根据获取到的登录信息登录到该子域站点。
其中,子域站点服务器根据解密得到的用户的登录信息,登录子域站点,并发送子域站点的用户已登录界面至客户端,使得客户端显示子域站点的用户已登录界面并实现子域站点的认证。
步骤312,在登录该子域站点之后,将用户的登录信息写入本子域站点的cookie中。
在步骤312中,客户端将所述登录信息写入子域站点的cookie中。并在发送的所述用户的登录请求消息中携带更新后的cookie。
在本发明的一种实施例中,父域站点服务器发送认证成功消息至客户端之后,客户端根据所述认证成功消息和所述子域站点标识信息,发送子域站点显示界面至所述客户端,使得客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
步骤313,根据私钥解密失败或者父域站点的cookie中也不存在用户的登录信息。
在步骤313之后,进行步骤314。
步骤314,向父域站点发送携带所述子域站点标识信息的父域站点登录请求消息。
在步骤314中,子域站点服务器发送携带所述子域站点标识信息的父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面
步骤315,显示父域站点的登录信息输入界面。
在步骤314和步骤315中,子域站点服务器发送父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面。即通过客户端重定向到父域站点的登入界面,使得客户端显示父域站点的登录信息输入界面。
步骤316,获取用户输入的登录信息。
在步骤316中,父域站点服务器接收客户端发送的父域站点的登录信息输入界面上的登录信息。即父域站点服务器接收用户在弹出的父域站点的登录信息输入界面中输入用户名和密码。
步骤317,父域站点服务器对用户输入的登录信息进行认证。
在认证通过之后,进行步骤318,认证不通过,则进行步骤321。
步骤318,认证成功,获取私钥。
在步骤318中,父域站点服务器对用户输入的登录信息进行认证通过之后,从密钥服务器获取一个私钥。
步骤319,父域站点服务器根据私钥对用户的登录信息进行加密操作。
在步骤319中,父域站点服务器从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密。具体为:父域站点服务器根据从密钥服务器中获取的私钥对登录信息中的用户名进行对称加密操作,得到与该用户的登录信息对应的cookie值。
父域站点服务器将加密后的所述用户的登录信息写入所述父域站点的cookie中,具体为:将该cookie值写入父域站点的cookie中。
步骤320,重定向到子域站点。
在步骤320中,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。
具体为:在父域站点服务器将加密后的cookie值写入父域站点的cookie中之后,根据在步骤314中所携带子域站点标识,通过客户端重定向到该子域站点之后,相当于再次向该子域站点服务器发送登录请求消息,即在步骤320之后,重新进入步骤301。
在本发明的一种具体实施例中,在步骤320之后,重新进入步骤301,继而能够从父域站点的cookie中查找到该用户的登录信息,根据获取到的用户登录信息进行登录。具体进行了步骤302、步骤306~步骤312。
步骤321,在认证失败之后,显示错误信息。
在步骤321中,父域站点服务器对用户输入的登录信息进行认证失败之后,显示相应的失败原因,例如用户名不存在,或者用户名或者密码错误等。
在本发明中,通过对cookie做对称加密保证了账号安全。
在本发明的另一种实施例中,在登录父域站点下的其他子域站点时,如果该子域站点没有被登录过,可以从父域站点的cookie中获取用户的登录信息进行登录。并且,在登录子域站点时,是弹出父域站点的登录界面,即显示父域站点的登录信息输入界面,因此不会存在子域站点存在cookie,而父域站点不存在cookie的情况。
由此可见,在本发明提供是技术方案中,只要用户在某一个子域站点或父域站点成功登录,再在客户端上输入任一其他子域站点url或父域站点url能直接登录,无需用户重新输入用户名和密码。通过在登录子域站点时显示父域站点的登录界面,将用户的登录信息保存到父域站点中,在需要登录子域站点时,可以通过获取父域站点的cookie,获取用户的登录信息实现了一次登录,处处登陆。解决了现有技术中,当子域站点过多的情况下,每个子域站点都要暴露出一个写cookie接口,且用户登录自身站点后,都要依次调用其他站点的写cookie接口,过程繁琐,增大开发联调工作量。
本发明还公开了一种父域站点下的多个子域站点的认证系统,图4是本发明一种实施例中的父域站点下的多个子域站点的认证系统结构示意图。参见图4所示,该系统包括:客户端403,父域站点服务器402和子域站点服务器401;
其中,子域站点服务器401至少为1个,在本实施例中为了简洁的描述本发明,将子域站点服务器401设为1个。
子域站点服务器401,用于当用户请求登录任意一个子域站点时,接收客户端403发送的用户的登录请求消息,根据用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在用户的登录信息;如果存在,子域站点服务器401发送子域站点的用户已登录界面至客户端403,使得客户端403根据子域站点的用户已登录界面实现子域站点的认证;如果均不存在,子域站点服务器401发送父域站点的登录信息输入界面至客户端403,使得客户端403显示父域站点的登录信息输入界面。
父域站点服务器402,用于根据用户的登录请求消息检测本子域站点的cookie中是否存在用户的登录信息;如果存在,发送子域站点的用户已登录界面至客户端403,使得客户端403根据子域站点的用户已登录界面实现子域站点的认证;如果不存在,根据用户的登录请求消息检测父域站点的cookie中是否存在用户的登录信息,当存在时,子域站点服务器401发送子域站点的用户已登录界面至客户端403,使得客户端403根据子域站点的用户已登录界面实现子域站点的认证,并将用户的登录信息写入子域站点的cookie中。
在本发明的一种实施例中,子域站点服务器401,用于根据用户的登录请求消息检测本子域站点的cookie中是否存在用户的登录信息;如果存在,发送子域站点的用户已登录界面至客户端403,使得客户端403根据子域站点的用户已登录界面实现子域站点的认证;如果不存在,根据用户的登录请求消息检测父域站点的cookie中是否存在用户的登录信息,当存在时,子域站点服务器401发送子域站点的用户已登录界面至客户端403,使得客户端403根据子域站点的用户已登录界面实现子域站点的认证,并将用户的登录信息写入子域站点的cookie中。
在本发明的一种实施例中,该系统还包括密钥服务器404404。图5是本发明一种实施例中的父域站点下的多个子域站点的认证系统详细结构示意图。参见图5,
在本发明的一种实施例中,父域站点服务器402,进一步用于将用户的登录信息写入父域站点的cookie中之前,从密钥服务器404获取私钥,通过私钥对用户的登录信息进行加密;将加密后的用户的登录信息写入父域站点的cookie中。
在本发明的一种实施例中,子域站点服务器401,用于从密钥服务器404中获取私钥,根据私钥和用户的登录请求消息检测本子域站点的cookie中是否存在用户的登录信息;以及根据私钥对子域站点的cookie中的加密后的用户登录信息解密成功时,得到用户的登录信息,根据用户的登录信息得到子域站点的用户已登录界面,发送子域站点的用户已登录界面至客户端403。
在本发明的一种实施例中,用于从密钥服务器404中获取私钥,根据私钥和用户的登录请求消息检测父域站点的cookie中是否存在用户的登录信息;以及根据私钥对父域站点的cookie中的加密后的用户登录信息解密成功时,得到用户的登录信息,根据用户的登录信息得到子域站点的用户已登录界面,发送子域站点的用户已登录界面至客户端403。
在本发明的一种实施例中,子域站点服务器401,用于根据解密得到的用户的登录信息,登录子域站点,并发送子域站点的用户已登录界面至客户端403,使得客户端403显示子域站点的用户已登录界面并实现子域站点的认证。
在本发明的一种实施例中,子域站点服务器401根据解密得到的用户的登录信息,登录子域站点,并发送子域站点的用户已登录界面至客户端403,使得客户端403显示子域站点的用户已登录界面并实现子域站点的认证。
在本发明的一种实施例中,子域站点服务器401,用于发送携带子域站点标识信息的父域站点的登录信息输入界面至客户端403,使得客户端403显示父域站点的登录信息输入界面;
父域站点服务器402,用于发送认证成功消息至客户端403;
客户端403,用于根据认证成功消息和子域站点标识信息,发送子域站点显示界面至客户端403,使得客户端403显示子域站点的用户已登录界面并实现子域站点的认证。
综上所述,本发明提供的技术方案,在登录父域站点下的其他子域站点时,如果该子域站点没有被登录过,可以从父域站点的cookie中获取用户的登录信息进行登录。并且,在登录子域站点时,是弹出父域站点的登录界面,即显示父域站点的登录信息输入界面,因此不会存在子域站点存在cookie,而父域站点不存在cookie的情况。由此可见,在本发明提供是技术方案中,通过在登录子域站点时显示父域站点的登录界面,将用户的登录信息保存到父域站点中,在需要登录子域站点时,可以通过获取父域站点的cookie,获取用户的登录信息实现了一次登录,处处登陆。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种父域站点下的多个子域站点的认证方法,其特征在于,当用户请求登录任意一个子域站点时,该方法包括:
子域站点服务器接收客户端发送的所述用户的登录请求消息,根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息;
如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;
如果均不存在,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
父域站点服务器接收客户端发送的所述父域站点的登录信息输入界面上的登录信息;对所述用户的登录信息进行认证,当认证成功时,将所述用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息,如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证包括:
子域站点服务器根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;
如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;
如果不存在,所述子域站点服务器根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证,并将所述用户的登录信息写入所述子域站点的cookie中。
3.根据权利要求2所述的方法,其特征在于,所述将所述用户的登录信息写入父域站点的cookie中之前,所述方法进一步包括:
父域站点服务器从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密;
相应的,所述将所述用户的登录信息写入父域站点的cookie中包括:
将所述加密后的所述用户的登录信息写入所述父域站点的cookie中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息包括:
子域站点服务器从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;
相应的,如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端包括:
当根据所述私钥对所述子域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。
5.根据权利要求3所述的方法,其特征在于,所述所述子域站点服务器根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息包括:
子域站点服务器从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息;
相应的,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端包括:
当根据所述私钥对所述父域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端。
6.根据权利要求4所述的方法,其特征在于,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证包括:
所述子域站点服务器根据解密得到的所述用户的登录信息,登录所述子域站点,并发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
7.根据权利要求1所述的方法,其特征在于,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面包括:
子域站点服务器发送携带所述子域站点标识信息的父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
相应的,所述发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证包括:
父域站点服务器发送认证成功消息至客户端;
客户端根据所述认证成功消息和所述子域站点标识信息,发送子域站点显示界面至所述客户端,使得客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
8.一种父域站点下的多个子域站点的认证系统,其特征在于,该系统包括:客户端,父域站点服务器和一个或多个子域站点服务器;
子域站点服务器,用于当用户请求登录任意一个子域站点时,接收客户端发送的所述用户的登录请求消息,根据所述用户的登录请求消息检测本子域站点的cookie中或父域站点的cookie中是否存在所述用户的登录信息;如果存在,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;如果均不存在,所述子域站点服务器发送所述父域站点的登录信息输入界面至所述客户端,使得所述客户端显示父域站点的登录信息输入界面;
父域站点服务器,用于接收客户端发送的所述父域站点的登录信息输入界面上的登录信息;对所述用户的登录信息进行认证,当认证成功时,将所述用户的登录信息写入父域站点的cookie中;发送认证成功消息至客户端,使得客户端根据认证成功消息实现所述子域站点的认证。
9.根据权利要求7所述的系统,其特征在于,
所述子域站点服务器,用于根据所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;如果存在,发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证;如果不存在,根据所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息,当存在时,所述子域站点服务器发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端根据所述子域站点的用户已登录界面实现所述子域站点的认证,并将所述用户的登录信息写入所述子域站点的cookie中。
10.根据权利要求7所述的系统,其特征在于,
所述父域站点服务器,进一步用于将所述用户的登录信息写入父域站点的cookie中之前,从密钥服务器获取私钥,通过所述私钥对所述用户的登录信息进行加密;将所述加密后的所述用户的登录信息写入所述父域站点的cookie中;
所述子域站点服务器,用于从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测本子域站点的cookie中是否存在所述用户的登录信息;以及根据所述私钥对所述子域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端;或者,用于从所述密钥服务器中获取所述私钥,根据所述私钥和所述用户的登录请求消息检测父域站点的cookie中是否存在所述用户的登录信息;以及根据所述私钥对所述父域站点的cookie中的加密后的用户登录信息解密成功时,得到所述用户的登录信息,根据所述用户的登录信息得到所述子域站点的用户已登录界面,发送所述子域站点的用户已登录界面至所述客户端;
所述子域站点服务器,用于根据解密得到的所述用户的登录信息,登录所述子域站点,并发送所述子域站点的用户已登录界面至所述客户端,使得所述客户端显示所述子域站点的用户已登录界面并实现所述子域站点的认证。
CN201310753106.4A 2013-12-31 2013-12-31 一种父域站点下的多个子域站点的认证方法和系统 Active CN104753895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310753106.4A CN104753895B (zh) 2013-12-31 2013-12-31 一种父域站点下的多个子域站点的认证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310753106.4A CN104753895B (zh) 2013-12-31 2013-12-31 一种父域站点下的多个子域站点的认证方法和系统

Publications (2)

Publication Number Publication Date
CN104753895A true CN104753895A (zh) 2015-07-01
CN104753895B CN104753895B (zh) 2018-05-11

Family

ID=53593008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310753106.4A Active CN104753895B (zh) 2013-12-31 2013-12-31 一种父域站点下的多个子域站点的认证方法和系统

Country Status (1)

Country Link
CN (1) CN104753895B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855814A (zh) * 2005-04-29 2006-11-01 中国科学院计算机网络信息中心 一种安全的统一身份认证方案
US20060282327A1 (en) * 2005-06-09 2006-12-14 Greg Neal First party advertisement serving
CN101355527A (zh) * 2008-08-15 2009-01-28 深圳市中兴移动通信有限公司 一种跨域名单点登录的实现方法
CN102546166A (zh) * 2010-12-31 2012-07-04 北大方正集团有限公司 一种身份认证方法、系统及装置
CN102682080A (zh) * 2012-03-31 2012-09-19 奇智软件(北京)有限公司 cookie信息共享方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855814A (zh) * 2005-04-29 2006-11-01 中国科学院计算机网络信息中心 一种安全的统一身份认证方案
US20060282327A1 (en) * 2005-06-09 2006-12-14 Greg Neal First party advertisement serving
CN101355527A (zh) * 2008-08-15 2009-01-28 深圳市中兴移动通信有限公司 一种跨域名单点登录的实现方法
CN102546166A (zh) * 2010-12-31 2012-07-04 北大方正集团有限公司 一种身份认证方法、系统及装置
CN102682080A (zh) * 2012-03-31 2012-09-19 奇智软件(北京)有限公司 cookie信息共享方法及系统

Also Published As

Publication number Publication date
CN104753895B (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
CN104869175A (zh) 跨平台的账号资源共享实现方法、装置及系统
CN106060078B (zh) 应用于云平台的用户信息加密方法、注册方法及验证方法
CN108683667B (zh) 账户保护方法、装置、系统和存储介质
CN103581108A (zh) 一种登录验证方法、客户端、服务器及系统
US9276887B2 (en) Systems and methods for managing security certificates through email
CN104967597A (zh) 一种基于安全渠道的第三方应用消息鉴权方法及系统
CN103607284A (zh) 身份认证方法及设备、服务器
CN106936790A (zh) 基于数字证书实现客户端和服务器端进行双向认证的方法
CN102868702B (zh) 系统登录装置和系统登录方法
KR102055625B1 (ko) 인증 서버 장치, 프로그램 및 인증 방법
CN104202185A (zh) 一种通信数据备份方法及装置
CN103929411A (zh) 信息显示方法、终端、安全服务器及系统
CN104735065A (zh) 一种数据处理方法、电子设备及服务器
CN102413074A (zh) 一种即时通讯工具终端异地登录检测方法
CN106209886A (zh) web接口数据加密加签方法、装置及服务器
CN105101183A (zh) 对移动终端上隐私内容进行保护的方法和系统
CN105099676A (zh) 一种用户登录方法、用户终端及服务器
CN103227786A (zh) 一种网站登录信息填入方法及装置
CN105208013A (zh) 一种跨设备的高安全性无密码登录方法
CN103944877A (zh) 一种基于二维码实现银行网站安全登录的方法及系统
CN103685255A (zh) 一种基于二维码扫描的文件加密方法
CN102594811A (zh) 视频验证码云技术
CN102833276A (zh) 一种基于令牌的网页登陆系统
CN103763104A (zh) 一种动态验证的方法及系统
CN104717224A (zh) 一种登录方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.