一种多系统登录的方法和装置与流程

文档序号:12624435阅读:341来源:国知局
一种多系统登录的方法和装置与流程

本申请涉及一种计算机技术,尤其涉及一种多系统登录的方法和装置。



背景技术:

在实际的网络场景中,经常出现关联登录多个系统的情况。例如企业内网中有邮件系统,自动办公系统,要访问这些内部系统,需要先通过因特网登录企业虚拟专用网,进入到企业内网后才能访问,以保证访问内部系统的用户身份合法性。但当存在多个内部系统时,用户虽然已具备合法登录的身份,仍然要多次分别的登录每一个需要访问的系统,过程繁琐。在现有技术中,通常采用单点登录的技术,用户只需登录一次即可访问网络中所有互相信任身份的应用系统。实现单点登录,现有技术通常采用网页改写技术,虚拟专用网服务器通过网页改写将用户在应用系统的登录信息填充到应用系统的登录界面,主动触发页面的提交动作,完成登录。此方案中改写页面对服务器的响应速度要求较高,改写页面填充应用系统登录的过程也较复杂。



技术实现要素:

本申请提供一种多系统登录的方法和装置,解决现有技术中的相关问题。

根据本申请实施例的第一方面,提供一种多系统登录方法,第一系统服务器存储有第二系统的登录信息,该方法包括步骤:

从第一系统获取登录成功的状态标识;

向所述第一系统服务器发送获取所述登录信息的请求,所述请求携带所述状态标识;

写入所述登录信息至所述第二系统,当所述登录信息正确时,完成登录所述第二系统。

根据本申请实施例的第二方面,提供一种多系统登录装置,第一系统服务器存储有第二系统的登录信息,该装置包括:

获取模块,被配置为从第一系统获取登录成功的状态标识;

请求模块,被配置为向所述第一系统服务器发送获取所述登录信息的请求,所述请求携带所述状态标识;

登录模块,被配置为写入所述登录信息至所述第二系统,当所述登录信息正确时,完成登录所述第二系统。

本申请采用登录第一系统后,通过第一系统的登录成功状态标识获取登录第二系统的登录信息,并自动填写至第二系统的方式,服务器只需响应获取登录信息的请求并返回相应的信息,服务器负荷较低;向第二系统填写登录信息的过程无需改动页面,过程简易。

附图说明

图1是根据一示例性实施例示出的一种多系统登录方法的流程图;

图2是根据一示例性实施例示出的一种多系统登录方法的流程图;

图2-1和2-2是根据一示例性实施例示出的一种多系统登录方法的框图;

图3是根据一示例性实施例示出的一种多系统登录方法的流程图;

图4是根据一示例性实施例示出的一种多系统登录装置的框图;

图5是根据一示例性实施例示出的另一种多系统登录装置的局部框图;

图6是根据一示例性实施例示出的另一种多系统登录装置的局部框图;

图7是根据一示例性实施例示出的另一种多系统登录装置的局部框图;

图8是根据一示例性实施例示出的另一种多系统登录装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在实际网络环境中,经常遇到多系统关联登录的情况,例如企业内网中配置有Mail(邮件)系统、OA(Office Automation,办公自动化)系统、FTP(File Transfer Protocol,文件传输协议)系统,欲访问这些内网中的应用系统,需要先通过登录因特网登录企业的VPN(Virtual Private Network,虚拟专用网),获取访问内网中应用系统的合法身份。这样设计的好处是提供了多重的身份验证,安全性较高;弊端则是合法用户在登录内网中的应用系统时仍然要使用各系统的用户名和密码,依次登录每个欲访问的应用系统,过程繁琐。现有技术中通常采用SSO(Single Sign On,单点登录)技术来解决这种问题,用户只需要登录一次就可以访问所有互相信任的应用系统。本申请采用登录第一系统后,通过第一系统的登录成功状态标识获取登录第二系统的登录信息,并自动填写至第二系统的方式,实现广泛适用的单点登录方式。用户只需合法的登录第一系统,再访问欲登录的第二系统,即可自动完成登录过程。

图1是根据一示例性实施例示出的一种多系统登录方法的流程图。

本申请中至少存在两套系统,在成功登录第一系统后方可访问第二系统,第一系统可视为第二系统的前置身份验证环节。第二系统的登录信息可以同时存储于第二系统服务器和第一系统服务器。

在步骤S101中,从第一系统获取登录成功的状态标识。这个步骤中,用户使用一套合法的登录信息登录第一系统,获取到合法的用户身份,该身份通过登录成功的状态标识体现;可以合法的登录第一系统是访问第二系统的先决条件,如登录第一系统失败,则不允许访问第二系统。

在步骤S102中,向所述第一系统服务器发送获取所述登录信息的请求,所述请求携带所述状态标识。拥有登录成功的状态标识,意味着可以合法的访问第一系统。

如果需要访问第二系统,则需要拥有第二系统的登录信息;第二系统的登录信息,可以有一备份存储于第一系统服务器。由此可知,向第一系统服务器发送获取第二系统的登录信息的请求时,需要携带登录成功的状态标识。

在步骤S103中,写入所述登录信息至所述第二系统,当所述登录信息正确时,完成登录所述第二系统。获取到第二系统的登录信息后,将第二系统的登录信息写入到第二系统(通常为系统的登录页面),如保存在第一服务器上的第二系统登录信息配置是正确的,则可实现无需手动输入登录信息,登录第二系统;如登录信息不正确,还需要手工输入正确的登录信息。

图2是根据一示例性实施例示出的一种多系统登录方法的流程图。

由图1中的步骤S101-S103可知,第一系统的特性在于自身具有登录验证机制,且该登录验证环节即是第一系统自身的身份验证环节,又是第二系统的前置身份验证环节。通过第一系统的登录验证,是访问第二系统的先决条件。在现有的网络技术应用中,VPN网络通常充当上述这样的一种角色,通过VPN网络的登录验证机制将本地网络或内部网络中的应用系统隐藏在VPN网络之后,用户在合法登录VPN网络之前无法访问到该系统的访问入口。易知,存在登录验证机制且登录验证机制具备双重身份验证效果的网络技术,均可视作本申请中的第一系统,应用于本申请。本申请对于第一系统的选择不做特殊的指定性限制。本实施例中,将SSL VPN(Secure Sockets Layer Virtual Private Network,基于安全套接层的虚拟专用网)视作第一系统;将微软公司出品的加载有BHO(Browser Helper Object,浏览器辅助对象)的IE(Internet Explorer)浏览器视作本例的应用环境。作为例子,图1中的步骤S101-S103可以通过BHO来执行。SSL协议是一种在因特网上保证发送信息安全的通用协议,采用B/S(Browser/Server,浏览器/服务器)架构。VPN是建立在公用网络(即因特网)上的专用网络,进行加密通讯,VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。BHO是IE浏览器的扩展程序,文件格式为DLL(Dynamic Link Library,动态链接库),可以对IE浏览器的界面和访问内容进行修改操作。

在步骤S201中,用户通过因特网登录SSL VPN系统(即第一系统),如登录成功,证明用户具有访问SSL VPN系统的合法身份,同时还具有访问通过SSL VPN连接的内网中的应用系统(即第二系统)的资格。SSL VPN系统返回一个登录成功的状态标识到IE浏览器,IE浏览器凭借该状态标识即可合法的与SSL VPN系统通信。

在步骤S202中,IE浏览器通过运行DLL文件的方式加载BHO,BHO通过IE浏览器的API(Application Programming Interface,应用程序接口)获取IE浏览器接收的登录成功的状态标识,此时BHO也获得了访问SSL VPN服务器的合法身份。BHO携带该状态标识向SSL VPN服务器请求应用系统的登录信息。BHO在收到登录信息后,生成登录信息表,记录接收的登录信息。

在步骤S203中,当用户点击一个URL(Uniform Resource Location,统一资源定位符)时,BHO通过IE浏览器的API获取到当前点击的URL,在登录信息表中查询是否包含该URL的条目。如查询到对应条目,则BHO通过IE浏览器的API将与当前点击的URL对应的登录信息发送到应用系统的登录页面并填写,如果BHO获取的应用系统登录信息配置正确,则可自动的完成登录应用系统;如未查询到对应条目或填写登录信息时发现登录信息错误,则BHO向SSL VPN服务器请求在IE浏览器中加载应用系统的登录界面,由用户手动填写登录信息,完成常规登录流程。

通过上述流程易知,第二系统登录信息分别存储于第一系统服务器和第二系统自身服务器,存储于第一系统的服务器的登录信息用于返回申请的登录信息,实现自动向第二系统登录页面提交登录信息的登录技术;存储于第二系统自身服务器的登录信息用于校验提交的登录信息是否合法。

在登录第一系统时,用户可以直接在IE浏览器202中登录,也可以在第一系统客户端中203登录,或者操作系统的第一系统组件中登录(未在图中示出)。如图2-1所示,当用户通过IE浏览器202登录第一系统时,第一系统服务器201向IE浏览器202和第一系统客户端203同时返回登录成功的状态标识,IE浏览器202直接从第一系统服务器201获取到登录成功的状态标识,直接与第一系统服务器201进行通信;如图2-2所示,当用户通过第一系统客户端203或其他方式登录时,第一系统服务器201仅向第一系统客户端203返回登录成功的状态标识,IE浏览器202需要从第一系统客户端203获取到登录成功的状态标识后,方可与第一系统服务器201进行通信;当关闭IE浏览器后,从IE浏览器202获取的IE浏览器202所接收的所有状态标识均已丢失,再次打开IE浏览器202欲与第一系统服务器201进行通信时,需要从第一系统客户端203获取到登录成功的状态标识后,方可与第一系统服务器201进行通信。

图3是根据一示例性实施例示出的一种多系统登录方法中部分流程的流程图。

在获取第二系统登录信息,生成登录信息表时,可能遇到存在大量第二系统的情况,在这种情况下一次性请求所有第二系统的URL、用户名、密码,对第一系统服务器的资源消耗较大、服务器响应较慢,生成登录信息表的时间也会较长。此外用户可能只需要登录部分第二系统,一次请求全部的登录信息还存在信息泄露的风险。本实施例设计将登录信息表拆分为登录信息表和登录信息扩展表,登录信息表仅存储第二系统的URL,这部分数据量较小,第一系统服务器可以快速的响应请求,加载了浏览器辅助对象的IE浏览器运算生成表格的时间也较短;登录信息扩展表存储第二系统完整的登录信息,包括URL、用户名、密码等。相应的,本实施例设计在向第一系统服务器请求登录信息时也分为两步:第一步仅向第一系统服务器请求已存储的第二系统URL列表,存储于登录信息表中;第二步当用户点击一个URL时,首先在登录信息表中查询当前点击URL是否存在匹配的条目,如存在则向第一系统服务器请求与该URL对应的用户名、密码,并保存到登录信息扩展表中;如不存在则判定该URL不属于应用本申请的范围,向第一系统服务器请求向IE浏览器加载第二系统的登录界面,由用户手动完成登录过程。此机制不仅减轻了第一系统服务器的数据交互负担,而且只请求用户每次欲访问的第二系统的登录信息,只在登录信息扩展表中保存用户欲访问的第二系统的登录信息,增强了数据安全性。

IE浏览器页面中包含多种标签值,用于标示不同页面的功能,不同页面中不同控件的功能。当登录信息表包含用户所打开的URL时,从登录信息扩展表中提取该URL对应的登录信息,通过浏览器的API查询浏览器当前打开的URL页面中的标签值,查找具有“登录”标签的控件,再通过IE浏览器的API将登录信息写入到登录控件中,完成对第二系统的登录过程。

成功登录第一系统的状态标识,以及第二系统的登录信息,都属于受保护的信息,在关闭IE浏览器之后,如果这些数据仍然保留,可能会造成下次打开IE浏览器的用户在未经授权的情况下访问到这部分受保护信息。本实施例设计,加载BHO的DLL文件会在IE浏览器关闭时被释放,存储在BHO中的信息也会一同释放,再次打开浏览器访问第一系统服务器时,需要重新从第一系统客户端获取状态标识。保证了数据安全环节的完整性。

图4是根据一示例性实施例示出的一种多系统登录装置400的框图,第一系统服务器存储有第二系统的登录信息;装置400包括:

获取模块401,被配置为从第一系统获取登录成功的状态标识的流程图;

请求模块402,被配置为向所述第一系统服务器发送获取所述登录信息的请求,所述请求携带所述状态标识;

登录模块403,被配置为写入所述登录信息至所述第二系统,当所述登录信息正确时,完成登录所述第二系统。

作为例子,装置400可以配置为基于浏览器辅助对象实现,被加载于所述因特网浏览器;

作为例子,如图5所示,获取模块401可以包括:

第一标识获取模块404,被配置为,

通过所述因特网浏览器登录所述第一系统时,获取所述因特网浏览器从所述第一系统服务器接收的所述状态标识;所述状态标识由所述第一系统服务器向所述因特网浏览器和第一系统客户端发送;

或通过所述第一系统客户端登录所述第一系统时,获取所述因特网浏览器从所述第一系统客户端接收的所述状态标识;所述状态标识由所述第一系统服务器向所述第一系统客户端发送。

作为例子,获取模块401还可以被配置为丢失所述状态标识后,获取所述因特网浏览器从所述第一系统客户端接收的所述状态标识。

作为例子,如图6所示,请求模块402还可以包括:

创建模块405,被配置为收到所述登录信息时,生成登录信息表和登录信息扩展表;所述登录信息表用于记录所述第二系统的统一资源定位符;所述登录信息扩展表用于记录所述统一资源定位符、第二系统用户名、第二系统第二密码。

请求模块402还可以被配置为,

向所述第一系统服务器请求所存储的所述统一资源定位符,保存于所述登录信息表;

当点击的所述统一资源定位符包含于所述登录信息表时,向所述第一系统服务器请求与所述统一资源定位符匹配的所述第二用户名、所述第二密码,保存于所述登录信息扩展表。

作为例子,如图7所示,登录模块403还可以包括:

第一登录模块406,被配置为,

当所述登录信息表包含点击的所述统一资源定位符时,将所述登录信息扩展表中与点击的所述统一资源定位符对应的所述第二用户名、所述第二密码,通过所述因特网浏览器的应用程序接口发送至所述第二系统,登录第二系统。

作为例子,登录模块403还可以被配置为:

通过查找所述因特网浏览器页面中的标签值,定位登录控件位置;

通过所述因特网浏览器的应用程序接口,将所述第二用户名、第二密码写入所述登录控件。

图8是根据一示例性实施例示出的一种多系统登录装置,装置400还包括:

释放模块407,被配置为在关闭所述因特网浏览器时,通知所述因特网浏览器释放自身加载的浏览器辅助对象及所述登录信息。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1