CN109729045A - 单点登录方法、系统、服务器以及存储介质 - Google Patents
单点登录方法、系统、服务器以及存储介质 Download PDFInfo
- Publication number
- CN109729045A CN109729045A CN201711037494.0A CN201711037494A CN109729045A CN 109729045 A CN109729045 A CN 109729045A CN 201711037494 A CN201711037494 A CN 201711037494A CN 109729045 A CN109729045 A CN 109729045A
- Authority
- CN
- China
- Prior art keywords
- website
- server
- url
- browser
- billing information
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了单点登录方法、系统、服务器以及存储介质,第一服务器和第二服务器属于不同的平台,第一服务器和第一站点属于同一平台,所以,若第一站点未检测到票据信息,可以使得浏览器快速跳转至第一服务器,从而展示登录页面;而第二服务器用于对接收到的用户登录信息或票据信息进行验证。即第一服务器用于获取用户的用户登录信息,第二服务器用于验证获得的用户登录信息或票据信息,将第一服务器部署在第一平台;第二服务器部署在第二平台,通过分布式的部署方式提高了验证响应效率。
Description
技术领域
本发明涉及通信技术领域,更具体的涉及单点登录方法、系统、服务器以及存储介质。
背景技术
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个站点中,用户只需要登录一次就可以访问所有相互信任的站点。例如,用户登录A网站后,就可以直接访问A网站包含的A读书站点、A电影站点、A日记站点等等。无需再重复登录。
在单点登录过程中,用户访问站点时,需要服务器对用户的身份进行验证。目前服务器的验证响应效率较慢。
发明内容
有鉴于此,本发明提供了一种单点登录方法、系统、服务器以及存储介质,以克服现有技术中服务器的验证响应效率较慢的问题。
为实现上述目的,本发明提供如下技术方案:
一种单点登录方法,应用于属于第一平台的第一服务器,所述单点登录方法包括:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
一种单点登录方法,应用于属于第二平台的第二服务器,所述单点登录方法包括:
接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
一种单点登录方法,包括:
浏览器基于第一统一资源定位符URL,生成访问第一站点的第一请求,所述第一URL为用户输入的所述第一站点的URL,所述第一站点属于所述第一平台,所述第一站点为网站或应用程序;
所述浏览器将所述第一请求发送至所述第一站点;
所述第一站点检测所述第一请求中是否携带有票据信息;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;
若无所述票据信息,向第一服务器发送第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至所述浏览器,所述第一服务器属于所述第一平台;
所述浏览器接收所述第一服务器发送的登录页面的URL,并展示所述登录页面;
浏览器基于所述登录页面获取用户登录信息,并将所述用户登录信息发送至所述第一服务器;
所述第一服务器将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
所述第二服务器检测到所述用户登录信息与预置的登录信息相匹配时,生成票据信息,并发送至所述第一服务器;
所述第一服务器将携带所述票据信息的登录请求发送至所述浏览器;
所述浏览器基于所述第一URL以及所述票据信息生成第二请求,并向所述第一站点发送第二请求;
所述第一站点从所述第二请求中,获取所述票据信息;
所述第一站点向所述第二服务器发送携带所述票据信息的校验请求;
所述第二服务器检测到所述票据信息与预先生成的票据信息相匹配时,生成第二指令,所述第二指令用于指示所述第一站点允许所述用户登录;
所述第一站点接收到所述第二指令时,向所述浏览器发送所述第一站点的界面对应的第一界面信息;
所述浏览器基于所述第一界面信息进行渲染,使得所述浏览器展现所述第一站点的界面。
一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行应用于第一服务器的任一项所述的单点登录方法中的步骤。
一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行应用于第二服务器的任一项所述的单点登录方法中的步骤。
一种第一服务器,所述第一服务器属于第一平台,包括:
第一接收模块,用于接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
第一发送模块,用于将所述登录页面的URL发送至所述浏览器;
获取模块,用于基于所述浏览器展示的所述登录页面,获取用户登录信息;
第二发送模块,用于将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
第二接收模块,用于接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
第三发送模块,用于将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
一种第二服务器,所述第二服务器属于第二平台,包括:
第一接收模块,用于接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
第一检测模块,用于检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
第二接收模块,用于接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
第二检测模块,用于检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
一种第一服务器,所述第一服务器属于第一平台,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
一种第二服务器,所述第二服务器属于第二平台,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
一种单点登录系统,包括:属于第一平台的第一服务器与属于第二平台的第二服务器;
所述第一服务器,用于:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器;
所述第二服务器,用于:
接收第一服务器发送的携带用户登录信息的验证请求信息;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种单点登录方法,第一服务器和第二服务器属于不同的平台,第一服务器和第一站点属于同一平台,所以,若第一站点未检测到票据信息,可以使得浏览器快速跳转至第一服务器,从而展示登录页面;而第二服务器用于对接收到的用户登录信息或票据信息进行验证。即第一服务器用于获取用户的用户登录信息,第二服务器用于验证获得的用户登录信息或票据信息,将第一服务器部署在第一平台;第二服务器部署在第二平台,通过分布式的部署方式提高了验证响应效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种单点登录系统的结构图;
图2为本申请实施例提供的一种单点登录方法的信令图;
图3为本申请实施例提供的浏览器从展示用户输入第一站点的URL的界面跳转至展示第一站点的界面的跳转过程示意图;
图4为本申请实施例提供的另一种单点登录方法的信令图;
图5为本申请实施例提供的一种第一站点的界面的示意图;
图6为本申请实施例提供的访问第二站点的方法的信令图;
图7为本申请实施例提供的一种第二站点的界面的示意图;
图8为本申请实施例提供的一种第一服务器的结构示意图;
图9为本申请实施例提供的一种第二服务器的结构图;
图10为本申请实施例提供的一种第一服务器的内部结构图;
图11为本申请实施例提供的一种第二服务器的内部结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种单点登录系统,如图1所示为单点登录系统的结构图,单点登录系统包括:第一服务器11以及第二服务器12,还可以包括:安装有浏览器的电子设备10以及第一站点13,其中:
第一服务器11和第一站点13属于第一平台,第一平台包括至少一个第一站点13,例如第一平台还可以包括第二站点14;第一服务器11也可以为第一平台中的一个站点,第一平台包含的各站点可以部署在同一服务器中,也可以部署在不同的服务器中。
本申请实施例中的站点可以是指具有特定功能的应用程序或网站。
第一服务器11和第一平台包含的各站点均属于第一平台,说明第一服务器与第一平台包含的各站点具有相同的域名。
用户通过电子设备10中的浏览器首次访问第一站点13时,由于用户未登录第一平台下的任一站点,第一站点13无法从访问第一站点的访问请求中获取票据信息,因此需要浏览器跳转至第一服务器11,即控制第一服务器11将登录页面的URL(UniformResourceLocator,统一资源定位符)发送至浏览器,从而使得浏览器显示登录页面,第一服务器11将基于登录页面获得的用户登录信息发送至第二服务器12;第二服务器12若验证用户登录信息正确,则生成票据信息,并通过第一服务器11发送至浏览器,该票据信息用于指示已经至少成功登录第一平台包含的一个站点;浏览器接收到票据信息后会进行刷新,再次访问第一站点13,此时第一站点13可以从访问第一站点的访问请求中获取票据信息,并将该票据信息发送至第二服务器12,第二服务器12对该票据信息进行验证,若验证成功,则向第一站点13发送允许用户登录的指令;第一站点接收到该指令后,向浏览器发送自己的界面信息,从而使得浏览器渲染出第一站点的界面。用户可以通过浏览器浏览第一站点的界面了。
可选的,只要用户未在浏览器中退出登录,则该票据信息就会一直存储在浏览器中;若用户在浏览器需要访问第一平台的其他站点,例如第二站点14,由于浏览器已经存储有票据信息,因此第二站点可以直接从浏览器获取到票据信息,从而无需用户再次通过登录页面进行登录。
第一服务器11和第二服务器12属于不同的平台,第一服务器11和第一站点属于同一平台,所以,若第一站点未检测到票据信息,可以使得浏览器快速跳转至第一服务器11,从而展示登录页面;而第二服务器12用于对接收到的用户登录信息进行验证。即第一服务器用于获取用户的用户登录信息,第二服务器用于验证获得的用户登录信息,将第一服务器部署在第一平台;第二服务器部署在第二平台,通过分布式的部署方式提高了验证响应效率。
基于上述单点登录系统,下面对实现过程进行说明。
如图2所示,为本申请实施例提供的一种单点登录方法的信令图,该方法包括:
步骤S201:用户基于电子设备10中的浏览器(后续称为浏览器10)访问第一站点13,若第一站点13未检测到票据信息,则向第一服务器11发送用于指示浏览器跳转至登录页面的跳转指令。
跳转指令用于指示浏览器展示所述登录页面。
步骤S202:第一服务器11接收跳转指令后,控制浏览器10展示登录页面。
步骤S203:用户通过浏览器10展示的登录页面上传登录信息,第一服务器11获取基于所述登录页面获得用户登录信息。
在一可选实施例中,用户可以上传自己的生物特征信息作为用户登录信息,例如,指纹,或,虹膜,或,面部特征信息;在另一可选实施例中,用户可以在登录页面中输入用户名和密码作为用户登录信息。
跳转指令可以携带有第一服务器的URL。
步骤S204:第一服务器11将携带所述用户登录信息的验证请求信息发送至第二服务器12。
优选的,第一服务器11可以存储有第二服务器12的通信地址。
步骤S205:第二服务器12检测到所述用户登录信息与预置的登录信息相匹配时,生成票据信息,并发送至第一服务器11。
其中,所述票据信息用于指示用户已成功登录所述第一平台包含的至少一个站点。
第二服务器12判断用户登录信息与预置的登录信息相匹配,若匹配则说明用户登录信息正确,用户为合法用户,则可以生成票据信息。
步骤S206:第一服务器11接收票据信息,并将携带票据信息的登录请求发送至浏览器10。
登录请求可以携带有票据信息、第一站点的URL以及跳转至第一站点的请求。
在一可选实施例中,票据信息可以携带在cookie中。
浏览器可以存储票据信息。
步骤S207:第一站点13基于从浏览器获得的票据信息,允许用户成功登录第一站点。
第一站点还用于从第二服务器12中获取用户信息,以使得浏览器展示具有用户信息的第一站点的界面。
为了本领域技术人员更加理解本申请实施例提供的单点登录方法,下面举一具体例子进行说明。
假设第一平台包括第一站点、第二站点以及第一服务器,假设第一站点的URL为http://dev.tpcloud.oa.com;第二站点的URL为http://dev.op.tpcloud.oa.com;第一服务器的登录页面的URL为http://dev.op.tpcloud.oa.com。
假设用户需要登录第一站点,用户可以开启电子设备(例如,手机、电脑或平板等)中的浏览器10,浏览器10可以展示如图3中的界面31,用户可以在链接输入框中30输入http://dev.tpcloud.oa.com,得到界面32,点击界面32的搜索按钮后,可以得到界面33;上述的具体过程包括图4中的步骤S301至步骤S305。
步骤S301:用户在界面31中输入第一站点的URL,浏览器展示界面32,并执行搜索操作后,浏览器10可以基于第一站点的URL,即http://dev.tpcloud.oa.com生成访问第一站点的第一请求,并将第一请求发送至第一站点13。
第一请求中可以携带有cookies,若浏览器存储有票据信息,则cookies会包括票据信息;若浏览器未存储票据信息,则cookies中不携带票据信息。
票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点,票据信息也可以指示不同的访问请求是否来自同一浏览器。
步骤S302:第一站点13检测所述第一请求中是否携带有票据信息,若无所述票据信息,执行步骤S303,若有票据信息执行步骤S311。
步骤S303:第一站点13向第一服务器11发送第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至所述浏览器。
步骤S304:第一服务器11将登录页面的URL,即http://dev.op.tpcloud.oa.com发送至浏览器10。
步骤S305:浏览器10展示登录页面33,即浏览器从界面32跳转至界面33。
浏览器10展示第一站点的界面的步骤包括:步骤S306至步骤S315。
步骤S306:浏览器10基于登录界面33获取用户登录信息,并将携带所述用户登录信息的验证请求信息发送至第一服务器11。
用户登录信息可以为:用户名和密码,例如,用户可以在登录界面33中输入用户名和密码;用户登录信息还可以为:指纹,此时登录界面33可以为提示用户输入指纹的信息。用户登录信息并不限定于上述两种,例如,用户登录信息还可以为虹膜,或,掌纹等生物特征信息。
步骤S307:第一服务器11将所述用户登录信息发送至第二服务器12。
步骤S308:第二服务器12检测到所述用户登录信息与预置的登录信息相匹配时,生成票据信息,并发送至所述第一服务器11。
第二服务器12中预先存储有各用户的登录信息;第二服务器12可以将自己接收到的用户登录信息与预先存储的相应的用户的登录信息进行匹配,若匹配成功,说明用户为合法用户,因此可以生成票据信息。
步骤S309:第一服务器11将携带所述票据信息的登录请求发送至所述浏览器10。
步骤S310:浏览器10进行刷新,即基于第一站点的URL以及票据信息生成第二请求,并发送至第一站点。
浏览器10接收到登录请求后,会自动进行刷新,即生成并向第一站点13发送第二请求,此时所述第二请求携带有所述票据信息。
步骤S311:所述第一站点13从所述第二请求中,获取所述票据信息。
步骤S312:所述第一站点13向所述第二服务器12发送携带所述票据信息的校验请求。
步骤S313:所述第二服务器12检测到所述票据信息与自身生成的票据信息相匹配时,生成用于指示第一站点13允许所述用户登录的第二指令。
在一优选实施例中,第二服务器12检测到所述票据信息与预先生成的票据信息相匹配时,还可以将用户信息发送至第一站点,以使得第一站点将用户信息发送至浏览器,使得浏览器将用户信息展现在界面中。例如,图5中“XX用户您好!欢迎您使用XX企业云”中“XXX用户”可以为用户信息。
步骤S314:所述第一站点13接收到所述第二指令时,向所述浏览器10发送所述第一站点13的界面对应的第一界面信息。
第一界面信息可以包括:第一站点界面中包含的信息内容,各信息之间的位置关系;第一界面信息可以为HTML(HyperText Markup Language,超级文本标记语言)文件。
步骤S315:所述浏览器10基于所述第一界面信息进行渲染,使得所述浏览器10展现所述第一站点的界面。
浏览器10展现的第一站点的界面可以如图5所示。本申请实施例中,第一站点为用户介绍企业云产品。
若用户有需要访问第二站点14,则用户可以将第二站点的URL即http://dev.op.tpcloud.oa.com输入浏览器当前展示第一站点的界面的标签页的链接输入框中;或者,用户在浏览器中打开新的标签页,在新的标签页的链接输入框中输入http://dev.op.tpcloud.oa.com,具体步骤如图6所示。
步骤S316:浏览器10基于用户输入的第二站点的第二URL以及所述浏览器存储的所述票据信息,生成访问所述第二站点的第三请求,并发送至第二站点14。
由于用户已经成功登录第一站点了,因此,浏览器存储有票据信息,因此第三请求中携带所述票据信息。
步骤S317:第二站点14从所述第三请求中获取所述票据信息,并向所述第二服务器12发送携带所述票据信息的校验请求。
步骤S318:所述第二服务器检测到所述票据信息与其生成的票据信息相匹配时,生成用于指示第二站点允许所述用户登录的第三指令。
自身生成的票据信息是指在首次登录属于第一平台一个站点,例如第一站点的过程中,第二服务器生成的票据信息。
步骤S319:所述第二站点14接收到所述第三指令时,向所述浏览器10发送所述第二站点的界面对应的第二界面信息。
第二界面信息可以包括:第二站点界面中包含的信息内容,各信息之间的位置关系;第二界面信息可以为HTML文件。
步骤S320:所述浏览器10基于所述第二界面信息进行渲染,使得所述浏览器展现所述第二站点的界面。
如图7所示为本申请实施例提供的第二站点的界面示意图。本申请实施例中的第二站点为云运营管理平台,可以为用户提供计费管理、区域类信息管理、IDC资源管理、知识库管理、运维管理以及功能管理等服务。
用户可以通过第二站点新建基础资源,或删除基础资源。
若用户在浏览器中新建立的标签页中输入的http://dev.op.tpcloud.oa.com。则浏览器中也具有展示第一站点的界面的标签页,具体如图7所示。
由于第一平台包括的各站点,例如第一站点和第二站点具有相同的域名,例如,oa.com,因此可以共享浏览器存储的票据信息,因此,第一平台的其他站点均可以从浏览器处获取票据信息,对于用户而言,仅需要在登录页面中上传一次登录信息即可登录第一平台的所有站点。
由于浏览器、第一服务器11和第二服务器12之间需要传递信息,例如,用户登录信息,第一站点的URL、第二站点的URL、第一服务器URL和/或第二服务器URL,为了防止用户登录信息被非法用户截取,需要对信息进行加密。
目前非法用户可能构建了非法网站,信息在浏览器10、第一服务器11和第二服务器12之间传递时,非法用户可能会截取信息,并将信息中的第一服务器11的URL,或,第二服务器12的URL,或,第一站点的URL进行篡改,使得用户访问非法网站,从而泄露用户登录信息。
综上,需要增强浏览器、第一服务器11和第二服务器12之间的通信的安全性。
在一优选实施例中,可以将第一服务器11的URL,和/或,第二服务器12的URL,和/或第一平台的至少一个站点对应的URL使用https(Hyper Text Transfer ProtocoloverSecure Socket Layer)协议进行加密。
这样,浏览器在跳转至第一服务器11的登录页面之前,会基于第一服务器11从CA(Certificate Authority)申请的用于证明第一服务器用途类型的证书,确定第一服务器11的登录页面的URL是否被篡改。若没有被篡改,浏览器才会信任第一服务器11中的登录页面,才会跳转至登录页面。
同理,浏览器在跳转至第一站点之前,会基于第一站点对应的服务器从CA(Certificate Authority)申请的用于证明该服务器用途类型的证书,确定该服务器的URL是否被篡改。若没有被篡改,浏览器才会信任第一站点,会跳转至第一站点。
在另一优选实施例中,第一服务器11与第二服务器12之间交互的信息是加密之后的信息;包括但不限于:
第一服务器11向第二服务器12发送的携带所述用户登录信息的验证请求信息,是第一服务器11将第一站点的的URL,和/或,自身的的URL,和/或,第二服务器的的URL进行加密,获得的加密后的验证请求信息。
具体的,步骤“将携带所述用户登录信息的验证请求信息发送至第二服务器”可以包括:从所述验证请求信息中,获取所述第一站点的URL、自身的URL以及所述第二服务器的URL;
分别对所述第一站点的URL、自身的URL以及所述第二服务器的URL进行加密;
将加密后的所述第一站点的URL、加密后的自身的URL以及加密后的所述第二服务器的URL,与所述用户登录信息进行结合,获得加密后的所述验证请求信息;
将加密后的所述验证请求信息发送至所述第二服务器。
优选的,是将三个通信地址均进行加密,当然也可以只加密其中一个,具体步骤如下:
从所述验证请求信息中,获取所述第一站点的URL或自身的URL或所述第二服务器的URL;
对所述第一站点的URL或自身的URL或所述第二服务器的URL进行加密;
将加密后的所述第一站点的URL、未加密的自身的URL以及未加密的所述第二服务器的URL,与所述登录信息进行结合,获得加密后的所述验证请求信息;或,将未加密后的所述第一站点的URL、加密的自身的URL以及未加密的所述第二服务器的URL,与所述登录信息进行结合,获得加密后的所述验证请求信息;或,将未加密的所述第一站点的URL、未加密的自身的通信地址以及加密的所述第二服务器的URL,与所述登录信息进行结合,获得加密后的所述验证请求信息;
将加密后的所述验证请求信息发送至所述第二服务器。
当然也可以只加密其中两个,例如,加密第一服务器11将第一站点的URL以及身的URL;或,加密第一站点的URL以及第二服务器的URL进行加密;或,加密自身的URL以及第二服务器的URL进行加密。
加密的方法可以为https,也可以是其他加密方法。
此时需要,第二服务器包括能够对加密后的验证请求信息进行解密算法,即第一服务器和第二服务器预先协商好加密和解密方法。
目前,具有模拟的http的恶意请求,这些恶意请求降低了第二服务器12的安全性,为了提高第二服务器12的安全性,在一较优实施例中,在第二服务器12中设置白名单或黑名单。
白名单存储有非恶意请求的站点的URL,即合法站点的通信地址;黑名单存储有恶意请求的站点的通信地址,即非法站点的通信地址。
第二服务器12在生成票据信息之前还用于:确定所述第一站点的URL与预置的合法站点的URL相匹配;或,确定所述第一站点的URL与预置的非法站点的URL不匹配。
在一实施例中,“确定所述第一站点的URL与预置的合法站点的URL相匹配”可以包括以下步骤:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的通信地址与预置的合法站点的URL进行匹配;
获得所述第一站点的通信地址与预置的合法站点的URL相匹配的匹配结果。
在一实施例中,“确定所述第一站点的URL与预置的非法站点的通信地址不匹配”可以包括以下步骤:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的URL与预设的非法站点的URL进行匹配;
获得所述第一站点的URL与预置的非法站点的URL不匹配的匹配结果。
若第一站点的URL与预置的合法站点的URL相匹配,说明第一站点为合法站点;或,若第一站点的URL与预置的非法站点的URL不匹配,说明第一站点为合法站点。
若第一站点为合法站点,第二服务器12才会生成票据信息;或,若第一站点为合法站点,第二服务器才会验证所述登录信息是否与预置的登录信息匹配;若第一站点为非法站点,则第二服务器12就会不进行响应。
从而提高了第二服务器12的安全性。
在一实施例中,第一服务器11以及第一平台中各站点均存储有第二服务器12的URL;若第二服务器12的URL发生变化时,需要告知第一平台的各站点,非常浪费时间;因此,在一较优实施例中,第一平台中各站点获知第二服务器的URL的方式,是由第一服务器11告知的,具体的:将携带所述票据信息的登录请求发送至所述浏览器包括:
获取所述第二服务器的URL;
基于所述第二服务器的URL以及所述票据信息,生成所述登录请求。
因为,第一平台其他站点再次向第二服务器发送信息时,可以从浏览器获取第二服务器的URL,因此,即使第二服务器12的URL发生变更,仅需要告知第一服务器11即可,从而节省了时间。
为了本领域技术人员更加理解本申请实施例中第一平台中各站点与第一服务器和第二服务器的通信方式,下面以一具体例子进行说明。
可以为第一平台的各站点设置接口IPassport,接口IPassport包括但不限于以下函数:
Void Auth()函数,用于从浏览器发送的第一请求或第二请求中获取票据信息(例如,步骤S302或步骤S311),例如,从第一请求或第二请求的cookie中获得票据信息;以及,将携带所述票据信息的校验请求发送至第二服务器12(例如步骤S312);
Identity GetLoginUser()函数,用于响应于第二服务器发送用于指示所述第二站点允许登录的指令,从第二服务器获取用户身份信息;
Void RedirectToLogin(string returnUrl)函数,用于若VoidAuth()函数未获得票据信息,则向第一服务器发送将登录页面的URL发送至所述浏览器的第一指令(例如步骤S303),其中,returnUrl为用户需要登录的站点的URL;
Void LoginOut()函数,用于接收退出站点的请求,并退出该站点。
在上述任一实施例中,第一服务器、第二服务器和第一平台各站点需要进行信息交互;由于目前第一服务器、第二服务器和第一平台各站点之间的通信接口的局限性,要求第一服务器、第二服务器和第一平台各站点之间交互的信息必须采用特定的语言,例如,JAVA;导致开发的第一服务器、第二服务器不具有通用性,因此,为了使得第一服务器和第二服务器具有通用性,优选的,将第一服务器和第二服务器之间进行信息交互的通信接口设置为API(应用程序编程接口)接口;和/或,将第二服务器与第一平台各站点进行信息交互的通信接口设置为API接口;由于通信接口是通用的通信接口,因此,使得开发的第一服务器、第二服务器具有通用性,且不受开发语言的限制。
本申请实施例还提供了一种第一服务器,如图8所示,为本申请实施例提供的一种第一服务器的结构示意图,该第一服务器包括:
第一接收模块81,用于接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
第一发送模块82,用于将所述登录页面的URL发送至所述浏览器;
获取模块83,用于基于所述浏览器展示的所述登录页面,获取用户登录信息;
第二发送模块84,用于将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
第二接收模块85,用于接收所述第二服务器反馈的票据信息,所述票据信息是在所述用户登录信息与预置的登录信息相匹配的条件下生成的;
第三发送模块86,用于将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
可选的,第二发送模块86包括:
第一获取单元,用于获取所述第二服务器的通信地址;
第一生成单元,用于基于所述第二服务器的通信地址以及所述票据信息,生成所述登录请求。
可选的,验证请求信息携带有所述第一站点的通信地址、自身的通信地址以及所述第二服务器的通信地址,所述第三发送模块84包括:
第二获取单元,用于从所述验证请求信息中,获取所述第一站点的通信地址、所述第一服务器的通信地址以及所述第二服务器的通信地址;
加密单元,分别对所述第一站点的通信地址、所述第一服务器的通信地址以及所述第二服务器的通信地址进行加密;
第二生成单元,用于将加密后的所述第一站点的通信地址、加密后的所述第一服务器的通信地址以及加密后的所述第二服务器的通信地址,与所述登录信息进行结合,获得加密后的所述验证请求信息;
发送单元,用于将加密后的所述验证请求信息发送至所述第二服务器。
如图9所示,为本申请实施例提供的一种第二服务器的结构图,该第二服务器包括:
第一接收模块91,用于接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
第一检测模块92,用于检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
第一发送模块93,用于将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
第二接收模块94,用于接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
第二检测模块95,用于检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
可选的,还包括:
第三接收模块,用于接收第二站点发送的携带所述票据信息的校验请求;
其中,所述第二站点属于所述第一平台,所述票据信息是从第三请求中获得的,所述第三请求是所述浏览器基于所述第二站点的第二URL以及所述票据信息生成的,所述第二URL是由用户输入至所述浏览器中的;
第三检测模块,用于检测到所述票据信息与其自身生成的票据信息相同时,向所述第二站点发送第三指令,所述第三指令用于指示所述第二站点允许用户登录。
可选的,还包括:
第二发送模块,用于将与所述用户登录信息对应的用户信息发送至所述第二站点。
可选的,所述验证请求信息还携带有所述第一站点的URL,还包括:
第一获取模块,用于从所述验证请求信息中,获取所述第一站点的URL;第一匹配模块,用于将所述第一站点的URL与预置的合法站点的URL进行匹配;第二获取模块,用于获得所述第一站点的URL与预置的合法站点的URL相匹配的匹配结果;
或,还包括:
第三获取模块,用于从所述验证请求信息中,获取所述第一站点的URL;第二匹配模块,用于将所述第一站点的URL与预设的非法站点的URL进行匹配;第四获取模块,用于获得所述第一站点的URL与预置的非法站点的URL不匹配的匹配结果。
如图10所示,为本申请实施例提供的一种第一服务器的内部结构图,该第一服务器包括:
存储器1001,用于存储程序;
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序,所述程序具体用于:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器基于所述票据信息成功跳转登录至所述第一站点的依据。
处理器1002可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,还可以包括通信接口1003、通信总线1004,其中,存储器1001、处理器1002以及通信接口1003通过通信总线1004完成相互间的通信。
可选的,通信接口可以为通信模块的接口,如GSM模块的接口。
可选的,处理器1002在将携带所述票据信息的登录请求发送至所述客户端时,具体用于:
获取所述第二服务器的URL;
基于所述第二服务器的URL以及所述票据信息,生成所述登录请求。
可选的,所述验证请求信息携带有所述第一站点的URL、第一服务器的URL以及所述第二服务器的URL,处理器1002在将携带所述登录信息的验证请求信息发送至第二服务器时,具体用于:
从所述验证请求信息中,获取所述第一站点的URL、所述第一服务器的URL以及所述第二服务器的URL;
分别对所述第一站点的URL、所述第一服务器的URL以及所述第二服务器的URL进行加密;
将加密后的所述第一站点的URL、加密后的所述第一服务器的URL以及加密后的所述第二服务器的URL,与所述登录信息进行结合,获得加密后的所述验证请求信息;
将加密后的所述验证请求信息发送至所述第二服务器。
如图11,为本申请实施例提供的一种第二服务器的内部结构图,该第二服务器包括:
存储器1101,用于存储程序;
存储器1101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1102,用于执行所述程序,所述程序具体用于:
接收属于第一平台的第一服务器发送的携带用户登录信息的验证请求信息;
用于检测到所述用户登录信息与预置的登录信息相匹配时,生成票据信息;
将所述票据信息发送至所述第一服务器。
处理器1102可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选的,还可以包括通信接口1103、通信总线1104,其中,存储器1101、处理器1102以及通信接口1103通过通信总线1104完成相互间的通信。
可选的,通信接口可以为通信模块的接口,如GSM模块的接口。
可选的,处理器1102还用于:
将与所述用户登录信息对应的用户信息发送至所述第二站点。
可选的,验证请求信息携带有所述第一站点的URL,处理器在执行生成票据信息之前,还用于:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的URL与预置的合法站点的URL进行匹配;
获得所述第一站点的URL与预置的合法站点的URL相匹配的匹配结果;
或,
所述验证请求信息携带有所述第一站点的URL,在所述生成票据信息之前还包括:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的URL与预设的非法站点的URL进行匹配;
获得所述第一站点的URL与预置的非法站点的URL不匹配的匹配结果。
可选的,处理器1102还用于:
接收第二站点发送的携带所述票据信息的校验请求;
其中,所述第二站点属于所述第一平台,所述票据信息是从第三请求中获得的,所述第三请求是所述浏览器基于所述第二站点的第二URL以及所述票据信息生成的,所述第二URL是由用户输入至所述浏览器中的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第二站点发送第三指令,所述第三指令用于指示所述第二站点允许用户登录。
本申请实施例还提供了一种存储介质,该存储介质存储有多条指令,该指令适用于处理器1002进行加载,以执行应用于第一服务器的任一单点登录方法中的步骤。
本申请实施例还提供了一种存储介质,该存储介质存储有多条指令,该指令适用于处理器1102进行加载,以执行应用于第二服务器的任一单点登录方法中的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种单点登录方法,其特征在于,应用于属于第一平台的第一服务器,所述单点登录方法包括:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
2.根据权利要求1所述单点登录方法,其特征在于,所述将携带所述票据信息的登录请求发送至所述浏览器包括:
获取所述第二服务器的URL;
基于所述第二服务器的URL以及所述票据信息,生成所述登录请求。
3.根据权利要求1所述单点登录方法,其特征在于,所述验证请求信息还携带有所述第一站点的URL、所述第一服务器的URL及所述第二服务器的URL,所述将携带所述用户登录信息的验证请求信息发送至第二服务器包括:
从所述验证请求信息中,获取所述第一站点的URL、所述第一服务器的URL以及所述第二服务器的URL;
分别对所述第一站点的URL、所述第一服务器的URL以及所述第二服务器的URL进行加密;
将加密后的所述第一站点的URL、加密后的所述第一服务器的URL以及加密后的所述第二服务器的URL,与所述登录信息进行结合,获得加密后的所述验证请求信息;
将加密后的所述验证请求信息发送至所述第二服务器。
4.一种单点登录方法,其特征在于,应用于属于第二平台的第二服务器,所述单点登录方法包括:
接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
5.根据权利要求4所述单点登录方法,其特征在于,还包括:
接收第二站点发送的携带所述票据信息的校验请求;
其中,所述第二站点属于所述第一平台,所述票据信息是从第三请求中获得的,所述第三请求是所述浏览器基于所述第二站点的第二URL以及所述票据信息生成的,所述第二URL是由用户输入至所述浏览器中的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第二站点发送第三指令,所述第三指令用于指示所述第二站点允许用户登录。
6.根据权利要求4所述单点登录方法,其特征在于,在所述检测到所述用户登录信息与预置的登录信息相匹配时之后,还包括:
将与所述用户登录信息对应的用户信息发送至所述第二站点。
7.根据权利要求4至6任一所述单点登录方法,其特征在于,所述验证请求信息还携带有所述第一站点的URL,在所述生成票据信息之前还包括:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的URL与预置的合法站点的URL进行匹配;
获得所述第一站点的URL与预置的合法站点的URL相匹配的匹配结果;
或,
所述验证请求信息携带有所述第一站点的URL,在所述生成票据信息之前还包括:
从所述验证请求信息中,获取所述第一站点的URL;
将所述第一站点的URL与预设的非法站点的URL进行匹配;
获得所述第一站点的URL与预置的非法站点的URL不匹配的匹配结果。
8.一种单点登录方法,其特征在于,包括:
浏览器基于第一统一资源定位符URL,生成访问第一站点的第一请求,所述第一URL为用户输入的所述第一站点的URL,所述第一站点属于所述第一平台,所述第一站点为网站或应用程序;
所述浏览器将所述第一请求发送至所述第一站点;
所述第一站点检测所述第一请求中是否携带有票据信息;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;
若无所述票据信息,向第一服务器发送第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至所述浏览器,所述第一服务器属于所述第一平台;
所述浏览器接收所述第一服务器发送的登录页面的URL,并展示所述登录页面;
浏览器基于所述登录页面获取用户登录信息,并将所述用户登录信息发送至所述第一服务器;
所述第一服务器将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
所述第二服务器检测到所述用户登录信息与预置的登录信息相匹配时,生成票据信息,并发送至所述第一服务器;
所述第一服务器将携带所述票据信息的登录请求发送至所述浏览器;
所述浏览器基于所述第一URL以及所述票据信息生成第二请求,并向所述第一站点发送第二请求;
所述第一站点从所述第二请求中,获取所述票据信息;
所述第一站点向所述第二服务器发送携带所述票据信息的校验请求;
所述第二服务器检测到所述票据信息与预先生成的票据信息相匹配时,生成第二指令,所述第二指令用于指示所述第一站点允许所述用户登录;
所述第一站点接收到所述第二指令时,向所述浏览器发送所述第一站点的界面对应的第一界面信息;
所述浏览器基于所述第一界面信息进行渲染,使得所述浏览器展现所述第一站点的界面。
9.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-3任一项所述的单点登录方法中的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求4-7任一项所述的单点登录方法中的步骤。
11.一种第一服务器,其特征在于,所述第一服务器属于第一平台,包括:
第一接收模块,用于接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
第一发送模块,用于将所述登录页面的URL发送至所述浏览器;
获取模块,用于基于所述浏览器展示的所述登录页面,获取用户登录信息;
第二发送模块,用于将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
第二接收模块,用于接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
第三发送模块,用于将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
12.一种第二服务器,其特征在于,所述第二服务器属于第二平台,包括:
第一接收模块,用于接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
第一检测模块,用于检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
第一发送模块,用于将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
第二接收模块,用于接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
第二检测模块,用于检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
13.一种第一服务器,其特征在于,所述第一服务器属于第一平台,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器,所述第二服务器属于第二平台;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器,所述登录请求为所述浏览器成功登录至所述第一站点的依据。
14.一种第二服务器,其特征在于,所述第二服务器属于第二平台,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一服务器发送的携带用户登录信息的验证请求信息;
其中,所述用户登录信息是基于浏览器展示的登录界面获得的,所述登录界面的统一资源定位符URL是由所述第一服务器发送至所述浏览器的,且是在第一站点获得的第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一URL生成的;所述第一站点以及所述第一服务器属于第一平台;所述票据信息用于指示用户已经通过所述浏览器至少成功登录属于所述第一平台的一个站点;所述第一站点为网站或应用程序;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器,以便所述第一服务器将所述票据信息发送至所述浏览器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
15.一种单点登录系统,其特征在于,包括:属于第一平台的第一服务器与属于第二平台的第二服务器;
所述第一服务器,用于:
接收第一站点发送的第一指令,所述第一指令用于指示所述第一服务器将登录页面的URL发送至浏览器,所述第一指令是在所述第一站点检测到第一请求中未携带票据信息的情况下发送的,所述第一请求是所述浏览器基于所述第一站点的第一统一资源定位符URL生成的,所述第一URL是由用户输入至所述浏览器中的,所述第一站点为网站或应用程序,所述第一站点属于所述第一平台;
将所述登录页面的URL发送至所述浏览器;
基于所述浏览器展示的所述登录页面,获取用户登录信息;
将携带所述用户登录信息的验证请求信息发送至第二服务器;
接收所述第二服务器反馈的票据信息,所述票据信息是在满足所述用户登录信息与预置的登录信息相匹配的条件下生成的;
将携带所述票据信息的登录请求发送至所述浏览器;
所述第二服务器,用于:
接收第一服务器发送的携带用户登录信息的验证请求信息;
检测到所述用户登录信息与预置的登录信息相匹配时,生成所述票据信息;
将所述票据信息发送至所述第一服务器;
接收所述第一站点发送的携带所述票据信息的校验请求;所述票据信息是从第二请求中获得的,所述第二请求是所述浏览器接收到所述票据信息后,基于所述第一URL以及所述票据信息生成的;
检测到所述票据信息与其自身生成的票据信息相同时,向所述第一站点发送第二指令,所述第二指令用于指示所述第一站点允许用户登录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711037494.0A CN109729045B (zh) | 2017-10-30 | 2017-10-30 | 单点登录方法、系统、服务器以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711037494.0A CN109729045B (zh) | 2017-10-30 | 2017-10-30 | 单点登录方法、系统、服务器以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109729045A true CN109729045A (zh) | 2019-05-07 |
CN109729045B CN109729045B (zh) | 2021-01-05 |
Family
ID=66291481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711037494.0A Active CN109729045B (zh) | 2017-10-30 | 2017-10-30 | 单点登录方法、系统、服务器以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109729045B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336828A (zh) * | 2019-07-15 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种信息同步方法和第一服务器 |
CN110784450A (zh) * | 2019-09-24 | 2020-02-11 | 云深互联(北京)科技有限公司 | 一种基于浏览器的单点登录方法和装置 |
CN111651739A (zh) * | 2020-05-08 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录认证服务系统及方法、认证服务节点、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154464A1 (en) * | 2009-12-23 | 2011-06-23 | Puneet Agarwal | Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on |
CN103414684A (zh) * | 2013-06-05 | 2013-11-27 | 华南理工大学 | 一种单点登录方法及系统 |
CN104158818A (zh) * | 2014-08-25 | 2014-11-19 | 中国联合网络通信集团有限公司 | 一种单点登录方法及系统 |
US20160381080A1 (en) * | 2015-06-29 | 2016-12-29 | Citrix Systems, Inc. | Systems and methods for flexible, extensible authentication subsystem that enabled enhance security for applications |
CN106850864A (zh) * | 2017-04-18 | 2017-06-13 | 北京京东尚科信息技术有限公司 | 应用于web服务器登录的方法和装置 |
-
2017
- 2017-10-30 CN CN201711037494.0A patent/CN109729045B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154464A1 (en) * | 2009-12-23 | 2011-06-23 | Puneet Agarwal | Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on |
CN103414684A (zh) * | 2013-06-05 | 2013-11-27 | 华南理工大学 | 一种单点登录方法及系统 |
CN104158818A (zh) * | 2014-08-25 | 2014-11-19 | 中国联合网络通信集团有限公司 | 一种单点登录方法及系统 |
US20160381080A1 (en) * | 2015-06-29 | 2016-12-29 | Citrix Systems, Inc. | Systems and methods for flexible, extensible authentication subsystem that enabled enhance security for applications |
CN106850864A (zh) * | 2017-04-18 | 2017-06-13 | 北京京东尚科信息技术有限公司 | 应用于web服务器登录的方法和装置 |
Non-Patent Citations (1)
Title |
---|
王小红: ""基于Cookie的单点登录认证机制实现"", 《重庆工商大学学报(自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336828A (zh) * | 2019-07-15 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种信息同步方法和第一服务器 |
CN110784450A (zh) * | 2019-09-24 | 2020-02-11 | 云深互联(北京)科技有限公司 | 一种基于浏览器的单点登录方法和装置 |
CN111651739A (zh) * | 2020-05-08 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 登录认证服务系统及方法、认证服务节点、电子设备 |
CN111651739B (zh) * | 2020-05-08 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 登录认证服务系统及方法、认证服务节点、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109729045B (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9871791B2 (en) | Multi factor user authentication on multiple devices | |
Sun et al. | The devil is in the (implementation) details: an empirical analysis of OAuth SSO systems | |
CN103067399B (zh) | 无线发射/接收单元 | |
US8776194B2 (en) | Authentication management services | |
US9245266B2 (en) | Auditable privacy policies in a distributed hierarchical identity management system | |
US9419969B2 (en) | Method and system for granting access to a secured website | |
CN101873331B (zh) | 一种安全认证方法和系统 | |
US10333716B2 (en) | Script verification using a digital signature | |
US10362019B2 (en) | Managing security credentials | |
US10250389B2 (en) | Script verification using a hash | |
CN104378376A (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
WO2005125087A1 (en) | Distributed hierarchical identity management system authentication mechanisms | |
CN102577301A (zh) | 用于可信认证和登录的方法和装置 | |
US20160212123A1 (en) | System and method for providing a certificate by way of a browser extension | |
Jøsang | Identity management and trusted interaction in Internet and mobile computing | |
CN109729045A (zh) | 单点登录方法、系统、服务器以及存储介质 | |
Jammalamadaka et al. | Delegate: A proxy based architecture for secure website access from an untrusted machine | |
CN109495458A (zh) | 一种数据传输的方法、系统及相关组件 | |
CN105429934B (zh) | Https连接验证的方法和装置、可读存储介质、终端 | |
Al-Sinani et al. | CardSpace-Liberty integration for CardSpace users | |
Binu et al. | A mobile based remote user authentication scheme without verifier table for cloud based services | |
Wang et al. | A framework for formal analysis of privacy on SSO protocols | |
CA2468351C (en) | Distributed hierarchical identity management system authentication mechanisms | |
Weerasinghe et al. | Security framework for mobile banking | |
Leicher et al. | Trusted computing enhanced user authentication with OpenID and trustworthy user interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |