CN112104641B - 登录形式转换方法、装置、存储介质及电子设备 - Google Patents
登录形式转换方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112104641B CN112104641B CN202010952858.3A CN202010952858A CN112104641B CN 112104641 B CN112104641 B CN 112104641B CN 202010952858 A CN202010952858 A CN 202010952858A CN 112104641 B CN112104641 B CN 112104641B
- Authority
- CN
- China
- Prior art keywords
- login
- iframe
- response message
- attribute
- monitoring module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 237
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000012544 monitoring process Methods 0.000 claims description 147
- 238000004590 computer program Methods 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000012795 verification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000009434 installation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种登录形式转换方法、装置、存储介质及电子设备,通过服务器上安装的转换插件,在服务器接收到浏览器发送的请求报文时,判断服务器是否发起302重定向,在确定服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截服务器发送给浏览器的响应报文,根据请求报文的类型,对响应报文进行处理,得到第一响应报文,将第一响应报文发送给浏览器,实现了把“基于网页跳转的CAS单点登录”转换成“基于网页内嵌iframe弹窗的CAS单点登录”,具有非侵入性和通用性的优势,节省了改造登录流程所需的成本。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种登录形式转换方法、装置、存储介质及电子设备。
背景技术
中心认证服务(central authentication service,CAS)是一种目前应该较为广泛的一种单点登录方式,在CAS协议中用户的身份认证过程需要经过三次浏览器跳转,具体地:用户访问Web应用中需要登录的资源时,浏览器会跳转到登录认证平台;用户在登录认证平台输入正确的登录凭证后,浏览器又跳转到Web应用的登录票根验证页面,并且在统一资源定位(uniform resource locator,URL)中包括用户的登录票根;Web应用把登录票根传送给登录认证平台进行校验,如果票根正确,浏览器最终跳转到用户要访问的资源。在此过程,用户将三次面对空白网页等待浏览器完成加载,导致用户使用体验不流畅的问题。
为提高用户的使用流畅度,现有技术中通过修改服务器Web应用的网页源代码,当用户通过浏览器访问受限资源时,CAS协议以弹窗的形式完成对用户的身份认证。
然而,现有技术中存在通用性低和原有登录功能恢复难度大的问题。
发明内容
本申请实施例提供一种登录形式转换方法、装置、存储介质及电子设备,用以解决现有技术中通用性低和原有登录功能恢复难度大的问题。
第一方面,本申请实施例提供一种登录形式转换方法,应用于服务器上安装的转换插件;所述方法包括:
在服务器接收到浏览器发送的请求报文时,判断所述服务器是否发起302重定向;
在确定所述服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截所述服务器发送给所述浏览器的响应报文;
根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文;
将所述第一响应报文发送给浏览器。
可选地,所述根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文,包括:
若所述请求报文的类型为异步JavaScript和可扩展标记语言Ajax请求,将所述响应报文的报文头中的超文本传输协议HTTP状态码修改为200;
在所述响应报文的报文头中增加认证事件属性和认证成功跳转属性,所述认证事件属性的属性值为所述302重定向地址,所述认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转统一资源定位符URL。
可选地,所述根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文,包括:
若所述请求报文的类型为非异步JavaScript和可扩展标记语言Ajax请求,将所述响应报文的报文头中的超文本传输协议HTTP状态码修改为200;
在所述响应报文的报文头中增加认证成功跳转属性,所述认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转统一资源定位符URL;
为所述响应报文填充报文体,所述报文体包括内嵌iframe的登录弹窗的代码和监听模块的代码,所述内嵌iframe的登录弹窗中iframe的网址源为所述302重定向地址。
可选地,所述方法还包括:
若确定所述服务器未发起302重定向,则拦截所述服务器发送给所述浏览器的响应报文;
判断所述响应报文的报文体的内容类型是否为超文本标记语言HTML格式;
若所述响应报文的报文体的内容类型为HTML格式,则在所述响应报文的报文体中***监听模块的代码,得到第二响应报文;
将所述第二响应报文发送给所述浏览器。
第二方面,本申请实施例提供一种登录形式转换方法,应用于终端设备的浏览器,所述方法包括:
接收服务器发送的第一响应报文;
对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块;
利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗;
利用所述监听模块根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制所述内嵌iframe的登录弹窗执行与所述属性值对应的操作。
可选地,所述利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗,包括:
利用所述监听模块对所述第一响应报文进行处理,确定所述第一响应报文的报文头包括认证成功跳转属性、所述第一响应报文的报文体包括内嵌iframe的登录弹窗的代码,所述认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL,所述内嵌iframe的登录弹窗中iframe的网址源为302重定向地址;
对所述内嵌iframe的登录弹窗的代码进行渲染,得到所述内嵌iframe的登录弹窗。
可选地,所述利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗,包括:
利用所述监听模块对所述第一响应报文进行处理,确定所述第一响应报文的报文头包括认证事件属性和认证成功跳转属性,所述认证事件属性的属性值为302重定向地址,所述认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL;
通过所述监听模块根据所述认证事件属性的属性值,构建所述内嵌iframe的登录弹窗。
可选地,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块之前,所述方法,还包括:
接收服务器发送的第二响应报文,所述第二响应报文的报文体包括监听模块的代码;
相应地,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块,包括:
对所述第一响应报文进行处理,确定所述第一响应报文的报文头中包括认证事件属性;
对所述第二响应报文的报文体中监听模块的代码进行实例化,得到所述浏览器中当前处于打开状态的网页对应的监听模块。
可选地,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块,包括:
对所述第一响应报文进行处理,确定所述第一响应报文的报文头中不包括认证事件属性且第一响应报文的报文体中包括监听模块的代码;
对所述第一响应报文的报文体中监听模块的代码进行实例化,得到所述浏览器中当前处于打开状态的网页对应的监听模块。
可选地,所述根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,利用所述监听模块控制所述内嵌iframe的登录弹窗执行所述属性值对应的操作之前,所述方法还包括:
利用监听模块控制所述内嵌iframe的登录弹窗为隐藏状态;
相应地,所述根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,利用所述监听模块控制所述内嵌iframe的登录弹窗执行所述属性值对应的操作,包括:
利用所述监听模块判断所述iframe的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL;
若所述iframe的位置属性的属性值不能在预设时间阈值内变成登录成功跳转URL,利用所述监听模块控制所述登录弹窗显示;
当所述iframe的位置属性的属性值发生变化时,利用所述监听模块判断所述iframe的位置属性的属性值是否等于所述登录成功跳转URL;
若所述iframe的位置属性的属性值等于所述登录成功跳转URL,则利用所述监听模块将所述登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息。
可选地,所述方法还包括:
若所述iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,则当所述iframe的位置属性的属性值发生变化时,利用所述监听模块判断所述iframe的位置属性的属性值是否等于所述登录成功跳转URL;
若所述iframe的位置属性的属性值所述登录成功跳转URL,则利用所述监听模块控制当前网页显示认证成功提示消息。
第三方面,本申请实施例提供一种登录形式转换装置,包括:
处理单元,用于在服务器接收到浏览器发送的请求报文时,判断所述服务器是否发起302重定向;在确定所述服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截所述服务器发送给所述浏览器的响应报文;根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文;
收发单元,用于将所述第一响应报文发送给浏览器。
第四方面,本申请实施例提供一种登录形式转换装置,包括:
收发单元,用于接收服务器发送的第一响应报文;
处理单元,用于对所述第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块;利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗;利用所述监听模块根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制所述内嵌iframe的登录弹窗执行与所述属性值对应的操作。
第五方面,本申请实施例提供一种服务器,包括:收发器、存储器和处理器;所述存储器用于存储计算机程序,所述处理器执行所述计算机程序实现上述第一方面所述的登录形式转换方法。
第六方面,本申请实施例提供一种终端设备,包括:收发器、存储器和处理器;所述存储器用于存储计算机程序,所述处理器执行所述计算机程序实现如上述第二方面所述的登录形式转换方法。
第七方面,本申请实施例提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现如上述第一方面所述的登录形式转换方法。
第八方面,本申请实施例提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现如上述第二方面所述的登录形式转换方法。
本申请实施例提供的登录形式转换方法、装置、存储介质及电子设备,通过服务器上安装的转换插件,在服务器接收到浏览器发送的请求报文时,判断服务器是否发起302重定向,在确定服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截服务器发送给浏览器的响应报文,根据请求报文的类型,对响应报文进行处理,得到第一响应报文,将第一响应报文发送给浏览器,通过终端设备上安装的浏览器,在接收到服务器发送的第一响应报文时,对第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块,利用监听模块和第一响应报文,生成内嵌iframe的登录弹窗,利用监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与属性值对应的操作,通过在服务器上安装转换插件,在不对服务器的源代码进行改动的情况下,实现了把“基于网页跳转的CAS单点登录”转换成“基于网页内嵌iframe弹窗的CAS单点登录”,通过一键安装或一键卸载,就可以实现不同服务器上转换插件的安装或卸载,操作简单,且由于转换插件不侵入源代码,节省了改造登录流程所需的成本。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中基于中心认证服务的登录认证***的结构示意图;
图2为本申请实施例提供的登录形式转换方法实施例一的流程示意图;
图3为本申请实施例提供的登录形式转换方法实施例二的流程示意图;
图4为本申请实施例提供的登录形式转换装置实施例一的结构示意图;
图5为本申请实施例提供的登录形式转换装置实施例二的结构示意图;
图6为本申请提供的服务器实施例的结构示意图;
图7为本申请提供的终端设备实施例的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面将以CAS登录认证***为例,对本申请的技术方案进行详细描述,可以理解的是,本申请实施例提供的登录形式转换方法、装置、存储介质及电子设备也适用于使用其他产品实现登录认证的Web***中,如基于QQ登录和GitHub OAuth的Web***,此处不作限制。
现有技术中,为了限制用户对受保护的服务功能或资源的访问,CAS***需要对用户的身份进行认证,即登录认证,从而保证只有授权的用户才能访问或使用受保护的服务功能或资源,示例性地,图1为现有技术中基于中心认证服务的登录认证***的结构示意图,如图1所示,CAS登录认证***中包括终端设备(其上安装有浏览器或者与浏览器有相同功能的应用)、统一认证中心、Web服务器,其中,Web服务器用于安装有Web应用(使用统一认证中心的账号进行登录的软件),在CAS登录认证***中Web服务器可以有多个,不同的Web服务器对应不同的Web应用。以两个Web服务器,Web服务器A和Web服务器B为例进行说明,Web服务器A和Web服务器B为分别为Web应用a和Web应用b对应的Web服务器:
场景一:当未登录用户第一次访问Web服务器A的受保护资源时,整个登录认证流程如下:Web服务器A通过过滤器判断用户是否登录,当确定用户没有登录时,重定向(302)到统一认证中心,并将重定向地址发送给浏览器;浏览器根据重定向地址发起重定向,并在统一认证中心返回的登录页面中输入用户的个人信息(如用户名和密码);统一认证中心验证输入的个人信息是否有效,验证成功后,统一认证中心给浏览器返回一个特殊的凭证(登录票根);浏览器收到登录票根后,重定向到Web服务器A,并在URL中包括登录票根;Web服务器A通过过滤器取出登录票根,并将该登录票根发送到统一认证中心,以使统一认证中心验证该登录票根是否有效;当Web服务器A收到统一认证中心发送的该登录票根有效的消息时,表示用户的身份认证完成,Web服务器A在浏览器上展示用户请求的Web应用a的资源。
场景二:当该用户在访问软件平台A的资源时,又突然发起访问Web服务器B上的资源的请求,其登录认证流程如下:由于用户第一次访问Web服务器B,于是Web服务器B通过302重定向,使浏览器到统一认证中心进行登录认证;由于该浏览器之前已使用过统一认证中心进行过身份认证(访问Web服务器A时),因此,统一认证中心不会再返回登录页面获取用户的个人信息,而是直接给浏览器签发一个登录票根,并使浏览器重定向到Web服务器B,Web服务器B获取登录票根到统一认证中心进行验证,验证成功后,Web服务器B在浏览器上展示用户请求的软件平台B的资源。
由上述分析可知,在CAS登录认证***中,未登录用户第一次访问Web应用的需要登录才有权限访问的资源,进行登录认证的过程需要经过三次浏览器跳转,分别为:跳转到统一认证中心的身份认证页面、跳转到Web服务器登录票根验证页面和跳转到登录成功后的回显页。在此过程中用户将三次面对空白网页等待浏览器完成加载,导致用户使用体验不流畅的问题。
为解决CAS登录认证过程中存在的不足,现有技术中提出一种通过修改Web应用的网页源代码的方法,当用户访问受保护资源时,实现通过弹窗形式完成对用户的身份认证,然而这种方法,一方面,针对不同企业不同服务器,需要分别进行相应的代码修改操作,不具有通用性,另一方面,该方法具有代码侵入性,当需要恢复原本登录功能时,需要进行代码的恢复,可恢复性差,操作难度大。
本申请技术方案的主要思路:基于现有技术中存在的问题,本申请提供一种通过转换插件实现登录认证的方法,在指定Web服务器安装转换插件后不需要改造任何源代码就能把“基于网页跳转的CAS单点登录”转换成“基于网页内嵌iframe弹窗的CAS单点登录”,具有非侵入性和通用性的优势,节省了改造登录流程所需的成本。
图2为本申请实施例提供的登录形式转换方法实施例一的流程示意图,本实施例中Web服务器上预先安装有转换插件,终端设备上预先安装有浏览器,本实施例的方法应用在Web服务器的转换插件与终端设备的浏览器之间,如图2所示,本实施例的方法包括:
S101、转换插件在服务器接收到浏览器发送的请求报文时,判断服务器是否发起302重定向。
由前述分析可知,在CAS登录认证过程中,若用户在未登录状态下通过浏览器请求访问受保护资源(用户在登录状态下才有权限访问的资源),服务器在接收到请求报文时,CAS过滤器会触发302重定向,若用户在登录状态下通过浏览器访问资源(包括受保护资源和其他资源)或者在未登录状态下通过浏览器访问其他资源(除受保护资源以外的网络资源),服务器在接收到请求报文时,CAS过滤器不会触发302重定向。本步骤中,当服务器接收到浏览器发送的请求报文时,转换插件判断服务器是否通过过滤器发起302重定向,并根据判断结果执行相应的操作。
其中,请求报文用于请求读取或者获取相关的网络资源,如网页、数据包等,请求报文中包括待访问资源的地址和浏览器的状态等,浏览器的状态包括用户登录状态和用户未登录状态,即用户是否已登录浏览器,待访问资源的地址即用户请求访问的资源的统一资源定位符(uniform resource locator,URL)。服务器会根据接收到的请求报文生成相应的响应报文,并将响应报文发送给对应浏览器,例如,服务器根据请求报文确定浏览器的状态为用户未登录状态且待访问资源为受保护资源时,服务器将包括302重定向地址的响应报文发送给浏览器,其他情况下,服务器直接将包括待访问资源的响应报文发送给浏览器。
S102、转换插件在确定服务器发起了302重定向且产生的302重定向地址符合CAS的地址格式时,拦截服务器发送给浏览器的响应报文。
本步骤中,当转换插件确定服务器发起了302重定向且产生的302重定向地址符合CAS的地址格式时,说明浏览器是用户未登录状态下请求访问受保护资源,并且服务器与浏览器之间采用的是CAS认证机制,此时,转换插件拦截服务器发送给浏览器响应报文,该响应报文的报文头包括HTTP状态码和302重定向地址,其中,超文本传输协议(hypertexttransfer prltocol,HTTP)状态码为302。
在一种可能的实现方式中,转换插件通过监控服务器操作,确服务器是否发起了302重定向及产生的302重定向的地址格式。
在另一种可能的实现方式中,转换插件通过读取服务器生成的响应报文,确定服务器是否发起了302重定向及产生的302重定向的地址格式。
S103、转换插件根据请求报文的类型,对响应报文进行处理,得到第一响应报文。
本步骤中,在确定服务器发起了302重定向且产生的302重定向地址符合CAS的地址格式时,转换插件拦截服务器发送给浏览器的响应报文,并根据请求报文的类型,对该响应报文进行处理,得到第一响应报文。
需要说明的是,本实施例中,转换插件具有随时读取服务器接收到的请求报文及生成的响应报文的功能,并且具有拦截响应报文和对响应报文进行处理的功能。
其中,请求报文的类型包括异步JavaScript和可扩展标记语言(asynchronousjavascript and XML,Ajax,其中,XML是extensible markup language的缩写)请求和非Ajax请求(除Ajax请求之外的其他请求)。
Ajax是一种异步请求数据的web开发技术,简单地说,在不需要重新刷新页面的情况下,Ajax通过异步请求加载后台数据,并在网页上呈现出来。常见运用场景有表单验证是否登入成功、百度搜索下拉框提示和快递单号查询等等。相应地,Ajax请求获取的是数据而不是HTML文档。因此,Ajax请求一类较为特殊的请求。
本实施例中,转换插件可以根据请求报文的报文头确定该请求报文的类型是Ajax请求还是非Ajax请求。根据请求报文的不同类型,转换插件会对响应报文执行不同的处理,并产生不同的第一响应报文:
在一种可能的实现方式中,当请求报文的类型为Ajax请求时,转换插件对响应报文执行如下处理,得到第一响应报文:
(1)将响应报文的报文头中的HTTP状态码修改为200;
(2)在响应报文的报文头中增加认证事件属性和认证成功跳转属性,其中,认证事件属性的属性值为所述302重定向地址,认证成功跳转属性的属性值为服务器中存储的登录成功跳转URL。
在另一种可能的实现方式中,当请求报文的类型为非Ajax请求,转换插件对响应报文执行如下处理,得到第一响应报文:
(1)将响应报文的报文头中的HTTP状态码修改为200;
(2)在响应报文的报文头中增加认证成功跳转属性,认证成功跳转属性的属性值为服务器中存储的登录成功跳转URL;
(3)为响应报文填充报文体,报文体包括内嵌iframe的登录弹窗的代码和监听模块的代码,内嵌iframe的登录弹窗中iframe的网址源(src)为302重定向地址。
不难理解的是,本实施例中,将响应报文的报文头中的HTTP状态码修改为200,是指将响应报文的报文头中的HTTP状态码由302修改为200,即取消302重定向。200为表示从浏览器发送来的请求在服务器被正确处理的HTTP状态码。
监听模块的代码用于浏览器实例化出监听模块,监听模块可以在浏览器中执行相应的操作。
iframe是HTML标签,作用是文档中的文档,或者浮动的框架(frame)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。网址源(src)是被嵌套的网页的网址。
因此,最终得到的第一响应报文包含两种可能的情况,一种是报文头包括HTTP状态码200、认证事件属性和认证成功跳转属性第一响应报文,另一种是报文头包括HTTP状态码200和认证成功跳转属性、报文体包括内嵌iframe的登录弹窗的代码和监听模块的代码的第一响应报文。转换插件根据请求报文的类型,生成两种第一响应报文的一种,即两种第一响应报文不可能同时存在。
S104、转换插件将第一响应报文发送给浏览器。
本步骤中,在S104之后,转换插件将S103中生成的第一响应报文发送给浏览器,相应地,浏览器完成第一响应报文的接收。
可选地,在S101中,若确定服务器未发起302重定向,本实施例的方法还包括:
转换插件拦截所述服务器发送给浏览器的响应报文,判断响应报文的报文体的内容类型是否为超文本标记语言(hyper text markup language,HTML)格式;若响应报文的报文体的内容类型为HTML格式,则转换插件在响应报文的报文体中***监听模块的代码,得到第二响应报文,并将第二响应报文发送给所述浏览器,相应地,浏览器接收第二响应报文;若响应报文的报文体的内容类型为其他格式,如纯文本格式、图片格式等,则转换插件将响应报文交还给服务器,以使服务器直接将该响应报文发送给浏览器。
由前述分析可知,当服务器未发起302重定向时,说明是浏览器在用户未登录状态下访问其他资源或者浏览器在用户登录状态下访问受保护资源,此时,服务器直接生成报文体包括待访问资源(即用户请求的资源)的响应报文,相应地,本步骤中,第二响应报文是转换插件在包括待访问资源的响应报文的报文体中***监听模块的代码得到的。
可以理解的,本步骤中的***的监听模块的代码与发起了302重定向且请求报文的类型非Ajax请求时,***到响应报文中的监听模块的代码相同。
S105、浏览器对第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块。
本实施例中,由于转换插件只安装在服务器中,为保证转换插件也能对浏览器中相应的操作进行控制,转换插件在相应的响应报文中***监听模块的代码,在浏览器接收第一响应报文时,浏览器通过读取和分析第一响应报文的内容,确定浏览器中当前处于打开状态的网页对应的监听模块。
由于第一响应报文有两种不同情况,相应地,确定浏览器中当前处于打开状态的网页对应的监听模块,也分两种可能的情况:
在一种可能的实现方式中,浏览器读取和解析第一响应报文,当确定第一响应报文的报文头中不包括认证事件属性且第一响应报文的报文体中包括监听模块的代码时,浏览器对第一响应报文的报文体中的监听模块代码进行实例化,得到浏览器中当前处于打开状态的网页对应的监听模块。
在另一种可能的实现方式中,在浏览器对第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块之前,浏览器接收了服务器发送的第二响应报文,相应地,当浏览器读取和解析第一响应报文,并确定第一响应报文的报文头中包括认证事件属性时,浏览器对第二响应报文中监听模块的代码进行实例化,得到浏览器中当前处于打开状态的网页对应的监听模块。
S106、浏览器利用监听模块和第一响应报文,生成内嵌内联框架的登录弹窗。
本步骤中,在实例化出监听模块后,浏览器利用监听模块根据第一响应报文的内容,生成内嵌iframe的登录弹窗。类似地,第一响应报文的内容不同时,生成内嵌iframe的登录弹窗方式也有所不同。
在一种可能的实现方式中,浏览器利用监听模块对第一响应报文进行处理,确定第一响应报文的报文头包括认证成功跳转属性、第一响应报文的报文体包括内嵌iframe的登录弹窗的代码,认证成功跳转属性的属性值为登录成功跳转URL,内嵌iframe的登录弹窗中iframe的网址源为302重定向地址之后,浏览器对内嵌iframe的登录弹窗的代码进行渲染,得到内嵌iframe的登录弹窗。
可以理解的是,该实现方式中,由于第一响应报文的报文体中包括内嵌iframe的登录弹窗的代码,因此,浏览器对内嵌iframe的登录弹窗的代码的进行渲染,就可以得到内嵌iframe的登录弹窗,并且该内嵌iframe的登录弹窗的iframe src为302重定向地址。
在另一种可能的实现方式中,浏览器利用监听模块对第一响应报文进行处理,确定第一响应报文的报文头包括认证事件属性和认证成功跳转属性,认证事件属性的属性值为302重定向地址,认证成功跳转属性的属性值为登录成功跳转URL之后,浏览器通过监听模块根据认证事件属性的属性值,构建所述内嵌iframe的登录弹窗,即得到内嵌iframe的登录弹窗中iframe的网址源为302重定向地址。
可以理解的是,本实现方式中,由于第一响应报文中并不包括内嵌iframe的登录弹窗的代码,因此,浏览器需要利用监听模块根据第一响应报文的报文头中的内容,即认证事件属性和认证事件属性值,构建一个内嵌iframe的登录弹窗。
S107、浏览器利用监听模块根据内嵌内联框架的登录弹窗中内联框架的位置属性的属性值,控制内嵌内联框架的登录弹窗执行与属性值对应的操作。
本步骤中,由前述分析可知,通常情况下在CAS认证机制中浏览器会进行三次跳转,由于本实施例中,通过iframe的登录弹窗对用户进行身份认证,浏览器的跳转转化为iframe的位置属性的属性值的变化,因此,本步骤中,在得到内嵌iframe的登录弹窗后,浏览器利用监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与iframe的位置属性的属性值对应的操作,从而实现在登录弹窗中完成对用户的登录认证。
本实施例中,通过服务器上安装的转换插件,在服务器接收到浏览器发送的请求报文时,判断服务器是否发起302重定向,在确定服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截服务器发送给浏览器的响应报文,根据请求报文的类型,对响应报文进行处理,得到第一响应报文,将第一响应报文发送给浏览器,通过终端设备上安装的浏览器,在接收到服务器发送的第一响应报文时,对第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块,利用监听模块和第一响应报文,生成内嵌iframe的登录弹窗,利用监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与属性值对应的操作,通过在服务器上安装转换插件,在不对服务器的源代码进行改动的情况下,实现了把“基于网页跳转的CAS单点登录”转换成“基于网页内嵌iframe弹窗的CAS单点登录”,通过一键安装或一键卸载,就可以实现不同服务器上转换插件的安装或卸载,操作简单,且由于转换插件不侵入源代码,节省了改造登录流程所需的成本。
优选地,S106中在得到内嵌iframe的登录弹窗的同时,浏览器利用监听模块控制内嵌iframe的登录弹窗为隐藏状态,即不显示,用户不可见。与此同时,浏览器也可以利用监听模块在当前网页中显示正在认证的提示消息。相应地,图3为本申请实施例提供的登录形式转换方法实施例二的流程示意图,如图3所示,S107可具体通过以下步骤来实现:
S1071、利用监听模块判断内联框架的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL。
iframe的位置属性的初始属性值为iframe src,即302重定向地址,但由于浏览器的跨域限制,在iframe的位置属性的属性值变为登录成功跳转URL之前,监听模块无法读取到iframe的位置属性的具体属性值,因此,本步骤中,通过利用监听模块判断iframe的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL,就可以确定当前场景(前述中的场景一或场景二),若iframe的位置属性的属性值不能在预设时间阈值内变成登录成功跳转URL,说明统一认证中心中未存储用户的个人信息,需要用户输入个人信息才能进行认证,对应于前述场景一的情况,相应地浏览器执行S1072-S1074;若iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,说明统一认证中心中存储了用户的个人信息,不需要用户再输入个人信息就可以实现认证,对应于前述场景二的情况,相应地,浏览器执行S1075-S1076。
其中,预设时间阈值可以根据实际应用时,当不需要用户输入个人信息时,浏览器从统一认证中心返回的身份认证页面跳转到登录Web服务器登录票根验证页面所需要的时间,预设时间阈值只要大于该时间即可。
S1072、利用监听模块控制内嵌内联框架的登录弹窗显示。
本步骤中,在登录弹窗保持隐藏状态的前提下,当确定iframe的位置属性的属性值没有在预设时间阈值内变成登录成功跳转URL时,利用监听模块控制内嵌iframe的登录弹窗显示,以使用户可以在登录弹窗中输入个人信息。
S1073、当内联框架的位置属性的属性值发生变化时,利用监听模块判断内联框架的位置属性的属性值是否等于登录成功跳转URL。
本步骤中,当用户输入个人信息后,iframe的位置属性的属性值发生变化,浏览器利用监听模块进一步获取iframe的位置属性,并利用第一响应报文中的认证成功跳转属性的属性值与iframe的位置属性的属性值作比较,判断iframe的位置属性的属性值是否等于登录成功跳转URL,通过判断iframe的位置属性的属性值是否等于登录成功跳转URL,可以确认用户是否输入了正确的个人信息以及登录票根验证是否通过。
S1074、若内联框架的位置属性的属性值等于登录成功跳转URL,则利用监听模块将登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息。
本步骤中,若iframe的位置属性的属性值等于登录成功跳转URL,说明用户个人信息及登录票根均验证通过,则浏览器利用监听模块将登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息,以提示用户登录成功。若iframe的位置属性的属性值不等于登录成功跳转URL,说明用户个人信息或登录票根验证失败,则浏览器利用监听模块将登录弹窗设置为隐藏状态并控制当前网页显示认证失败相关的提示消息。
S1075、当内联框架的位置属性的属性值发生变化时,利用监听模块判断内联框架的位置属性的属性值是否等于登录成功跳转URL。
本步骤中,当确定iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,在登录弹窗保持隐藏状态的前提下,当iframe的位置属性的属性值发生变化时,利用监听模块判断iframe的位置属性的属性值是否等于登录成功跳转URL,其具体实现方式与S1073类似,此处不再赘述。
S1076、若内联框架的位置属性的属性值等于登录成功跳转URL,则利用监听模块控制当前网页显示认证成功提示消息。
本步骤中,若根据S1075浏览器利用监听模块确定iframe的位置属性的属性值等于登录成功跳转URL,则利用监听模块控制当前网页显示认证成功提示消息,其具体实现与S1074类似,此处不再赘述。
本实施例中,通过利用监听模块判断iframe的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL,若iframe的位置属性的属性值不能在预设时间阈值内变成登录成功跳转URL,浏览器利用监听模块控制内嵌iframe的登录弹窗显示,当iframe的位置属性的属性值发生变化时,利用监听模块判断iframe的位置属性的属性值是否等于登录成功跳转URL,若iframe的位置属性的属性值等于登录成功跳转URL,则利用监听模块将登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息,若iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,当iframe的位置属性的属性值发生变化时,浏览器利用监听模块判断iframe的位置属性的属性值是否等于登录成功跳转URL,若iframe的位置属性的属性值等于登录成功跳转URL,则利用监听模块控制当前网页显示认证成功提示消息,实现了不同场景下对用户的身份认证,满足了用户的不同使用需求,有利于提高用户使用体验。
下面将以两个具体的举例,对本申请的技术方案进行详细说明:
示例一:
(1)用户在未登录状态下访问某Web应用的个人中心页面(该页面为不需要登录就可以访问的页面),浏览器向服务器发送请求报文,转换插件判断服务器是否发起302重定向,当服务器未发起302重定向时,转换插件拦截服务器将要返回给浏览器的响应报文,当确定该响应报文的报文体的内容类型为HTML格式时,转换插件在该响应报文中***监听模块代码,得到第二响应报文,并将第二响应报文发送给浏览器;
(2)用户非登录状态下在浏览器显示的个人中心页面下又点击查询个人信息按钮(用户需登录后才有权限访问)时,浏览器以Ajax形式向服务器发送请求报文;转换插件监测到服务器接收到该请求报文时触发了302重定向且产生的302重定向地址符合CAS的地址格式,转换插件拦截服务器将要发送给浏览器的响应报文,将该响应报文的报文头中的超文本传输协议HTTP状态码修改为200,并在其报文头中增加认证事件属性和认证成功跳转属性,认证事件属性的属性值为所述302重定向地址,认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转URL,得到第一响应报文,并将第一响应报文发送给浏览器。
(3)浏览器接收到第一响应报文之后,判断出其报文头中包括认证事件属性,浏览器对第二响应报文中的监听模块的代码进行实例化,得到监听模块;
(4)监听模块根据认证事件属性的属性值,构建内嵌iframe的登录弹窗,登录弹窗中iframe src为302重定向地址;
(5)监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与属性值对应的操作,通过登录弹窗完成对用户的登录认证。
(6)用户重新点击查询个人信息按钮,即可查看个人信息。
示例二:
(1)用户非登录状态下访问某Web应用的个人基本资料页面(用户需登录后才有权限访问),浏览器以非Ajax形式向服务器发送请求报文;转换插件监测到服务器接收到该请求报文时触发了302重定向且产生的302重定向地址符合CAS的地址格式,转换插件拦截服务器将要发送给浏览器的响应报文,将该响应报文的报文头中的超文本传输协议HTTP状态码修改为200,并在响应报文的报文头中增加认证成功跳转属性,认证成功跳转属性的属性值为服务器中存储的登录成功跳转URL,为响应报文填充报文体,报文体包括内嵌iframe的登录弹窗的代码和监听模块的代码,内嵌iframe的登录弹窗中iframe的网址源为302重定向地址,得到第一响应报文,并将第一响应报文发送给浏览器。
(2)浏览器接收到第一响应报文之后,判断出其报文头中不包括认证事件属性且报文体中包括监听模块的代码,浏览器对第一响应报文中的监听模块的代码进行实例化,得到监听模块。
(3)浏览器对内嵌iframe的登录弹窗的代码进行渲染,得到内嵌iframe的登录弹窗,登录弹窗中iframe src为302重定向地址。
(4)监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与属性值对应的操作,通过登录弹窗完成对用户的登录认证。
(5)用户执行点击查看个人基本资料页面,浏览器跳转到个人基本资料页面。
图4为本申请实施例提供的登录形式转换装置实施例一的结构示意图,如图1所示,登录形式转换装置10包括:
处理单元11和收发单元12。
其中,处理单元11用于在服务器接收到浏览器发送的请求报文时,判断服务器是否发起302重定向;在确定服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截服务器发送给所述浏览器的响应报文;根据请求报文的类型,对响应报文进行处理,得到第一响应报文;
收发单元12用于将第一响应报文发送给浏览器。
可选地,处理单元11具体用于:
若请求报文的类型为异步JavaScript和可扩展标记语言Ajax请求,将响应报文的报文头中的超文本传输协议HTTP状态码修改为200;在响应报文的报文头中增加认证事件属性和认证成功跳转属性,认证事件属性的属性值为所述302重定向地址,认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转统一资源定位符URL。
可选地,处理单元11具体用于:
若请求报文的类型为非异步JavaScript和可扩展标记语言Ajax请求,将响应报文的报文头中的超文本传输协议HTTP状态码修改为200;在响应报文的报文头中增加认证成功跳转属性,认证成功跳转属性的属性值为服务器中存储的登录成功跳转统一资源定位符URL;为响应报文填充报文体,报文体包括内嵌iframe的登录弹窗的代码和监听模块的代码,内嵌iframe的登录弹窗中iframe的网址源为302重定向地址。
可选地,处理单元11还用于:
若确定服务器未发起302重定向,则拦截服务器发送给浏览器的响应报文;判断响应报文的报文体的内容类型是否为超文本标记语言HTML格式;若响应报文的报文体的内容类型为HTML格式,则在响应报文的报文体中***监听模块的代码,得到第二响应报文。
收到单元12还用于:
将第二响应报文发送给浏览器。
本实施提供的登录形式转换装置10,用于执行前述任一方法实施例中服务器侧的技术方案,实现原理和技术效果类似,在此不再赘述。
图5为本申请实施例提供的登录形式转换装置实施例二的结构示意图,如图5所示,本实施例中的登录形式转换装置20包括:
收发单元21和处理单元22。
其中,收发单元21用于接收服务器发送的第一响应报文。
处理单元22用于对第一响应报文进行处理,确定浏览器中当前处于打开状态的网页对应的监听模块,利用监听模块和第一响应报文,生成内嵌iframe的登录弹窗,利用监听模块根据内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制内嵌iframe的登录弹窗执行与属性值对应的操作。
可选地,处理单元22具体用于:
利用监听模块对第一响应报文进行处理,确定第一响应报文的报文头包括认证成功跳转属性、第一响应报文的报文体包括内嵌iframe的登录弹窗的代码,认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL,内嵌iframe的登录弹窗中iframe的网址源为302重定向地址;对内嵌iframe的登录弹窗的代码进行渲染,得到内嵌iframe的登录弹窗。
可选地,处理单元22具体用于:
利用监听模块对第一响应报文进行处理,确定第一响应报文的报文头包括认证事件属性和认证成功跳转属性,认证事件属性的属性值为302重定向地址,认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL;通过监听模块根据认证事件属性的属性值,构建内嵌iframe的登录弹窗。
可选地,收发单元21还用于:
接收服务器发送的第二响应报文,第二响应报文的报文体包括监听模块的代码。
相应地,处理单元22具体用于:
对第一响应报文进行处理,确定第一响应报文的报文头中包括认证事件属性,对第二响应报文的报文体中监听模块的代码进行实例化,得到浏览器中当前处于打开状态的网页对应的监听模块。
可选地,处理单元22具体用于:
对第一响应报文进行处理,确定第一响应报文的报文头中不包括认证事件属性且第一响应报文的报文体中包括监听模块的代码,对第一响应报文的报文体中监听模块的代码进行实例化,得到浏览器中当前处于打开状态的网页对应的监听模块。
可选的,处理单元22还用于:
利用监听模块控制内嵌iframe的登录弹窗为隐藏状态。
相应地,处理单元22具体用于:
利用监听模块判断iframe的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL;
若iframe的位置属性的属性值不能在预设时间阈值内变成登录成功跳转URL,利用监听模块控制登录弹窗显示;
当iframe的位置属性的属性值发生变化时,利用监听模块判断iframe的位置属性的属性值是否等于登录成功跳转URL;
若iframe的位置属性的属性值等于登录成功跳转URL,则利用监听模块将登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息。
可选地,处理单元22还用于:
若iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,则当iframe的位置属性的属性值发生变化时,利用监听模块判断iframe的位置属性的属性值是否等于登录成功跳转URL;
若iframe的位置属性的属性值登录成功跳转URL,则利用监听模块控制当前网页显示认证成功提示消息。
本实施提供的登录形式转换装置20,用于执行前述任一方法实施例中终端设备侧的技术方案,实现原理和技术效果类似,在此不再赘述。
图6为本申请提供的服务器实施例的结构示意图,如图6所示,本实施例中的服务器30包括:收发器30、存储器32和处理器33,存储器32用于存储计算机程序,处理器33执行计算机程序实现前述服务器侧的任一方法实施例中的登录形式转换方法。
图7为本申请提供的终端设备实施例的结构示意图,如图7所示,本实施例中的终端设备40包括:收发器41、存储器42和处理器43,存储器42用于存储计算机程序,处理器43执行计算机程序实现前述终端设备侧的任一方法实施例中的登录形式转换方法。
本申请实施例还提供一种存储介质,该存储介质用于存储计算机程序,存储的计算机程序用于实现上述任一方法实施例提供的服务器侧的登录形式转换方法。
本申请实施例还提供一种存储介质,该存储介质用于存储计算机程序,存储的计算机程序用于实现上述任一方法实施例提供的终端设备的侧登录形式转换方法。
在上述的终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行前述方法实施例所述的全部或部分的步骤。
上述存储介质的具体实现中,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,SRAM)、电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,EEPROM)、可擦除可编程只读存储器(erasable programmable read-only memory,EPROM)、可编程只读存储器(programmable read-only memory,PROM)、只读存储器(read-onlymemory,ROM)、磁存储器、快闪存储器、磁盘或光盘等。可读存储介质可以是通用或专用的计算机或类似基站能够存取的任何可用介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种登录形式转换方法,其特征在于,应用于服务器上安装的转换插件;所述方法包括:
在服务器接收到浏览器发送的请求报文时,判断所述服务器是否发起302重定向;
在确定所述服务器发起了302重定向且产生的302重定向地址符合中心认证服务CAS的地址格式时,拦截所述服务器发送给所述浏览器的响应报文;
根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文;
将所述第一响应报文发送给浏览器;
其中,所述浏览器利用所述第一响应报文,生成内嵌内联框架iframe的登录弹窗,所述内嵌内联框架iframe的登录弹窗中iframe的网址源为所述302重定向地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文,包括:
若所述请求报文的类型为异步JavaScript和可扩展标记语言Ajax请求,将所述响应报文的报文头中的超文本传输协议HTTP状态码修改为200;
在所述响应报文的报文头中增加认证事件属性和认证成功跳转属性,所述认证事件属性的属性值为所述302重定向地址,所述认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转统一资源定位符URL。
3.根据权利要求1所述的方法,其特征在于,所述根据所述请求报文的类型,对所述响应报文进行处理,得到第一响应报文,包括:
若所述请求报文的类型为非异步JavaScript和可扩展标记语言Ajax请求,将所述响应报文的报文头中的超文本传输协议HTTP状态码修改为200;
在所述响应报文的报文头中增加认证成功跳转属性,所述认证成功跳转属性的属性值为所述服务器中存储的登录成功跳转统一资源定位符URL;
为所述响应报文填充报文体,所述报文体包括内嵌内联框架iframe的登录弹窗的代码和监听模块的代码。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述服务器未发起302重定向,则拦截所述服务器发送给所述浏览器的响应报文;
判断所述响应报文的报文体的内容类型是否为超文本标记语言HTML格式;
若所述响应报文的报文体的内容类型为HTML格式,则在所述响应报文的报文体中***监听模块的代码,得到第二响应报文;
将所述第二响应报文发送给所述浏览器。
5.一种基于权利要求1的登录形式转换方法,其特征在于,应用于终端设备的浏览器,所述方法包括:
接收服务器发送的第一响应报文;
对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块;
利用所述监听模块和所述第一响应报文,生成内嵌内联框架iframe的登录弹窗;
利用所述监听模块根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,控制所述内嵌iframe的登录弹窗执行与所述属性值对应的操作。
6.根据权利要求5所述的方法,其特征在于,所述利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗,包括:
利用所述监听模块对所述第一响应报文进行处理,确定所述第一响应报文的报文头包括认证成功跳转属性、所述第一响应报文的报文体包括内嵌iframe的登录弹窗的代码,所述认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL,所述内嵌iframe的登录弹窗中iframe的网址源为302重定向地址;
对所述内嵌iframe的登录弹窗的代码进行渲染,得到所述内嵌iframe的登录弹窗。
7.根据权利要求5所述的方法,其特征在于,所述利用所述监听模块和所述第一响应报文,生成内嵌iframe的登录弹窗,包括:
利用所述监听模块对所述第一响应报文进行处理,确定所述第一响应报文的报文头包括认证事件属性和认证成功跳转属性,所述认证事件属性的属性值为302重定向地址,所述认证成功跳转属性的属性值为登录成功跳转统一资源定位符URL;
通过所述监听模块根据所述认证事件属性的属性值,构建所述内嵌iframe的登录弹窗。
8.根据权利要求7所述的方法,其特征在于,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块之前,所述方法,还包括:
接收服务器发送的第二响应报文,所述第二响应报文的报文体包括监听模块的代码;
相应地,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块,包括:
对所述第一响应报文进行处理,确定所述第一响应报文的报文头中包括认证事件属性;
对所述第二响应报文的报文体中监听模块的代码进行实例化,得到所述浏览器中当前处于打开状态的网页对应的监听模块。
9.根据权利要求6所述的方法,其特征在于,所述对所述第一响应报文进行处理,确定所述浏览器中当前处于打开状态的网页对应的监听模块,包括:
对所述第一响应报文进行处理,确定所述第一响应报文的报文头中不包括认证事件属性且第一响应报文的报文体中包括监听模块的代码;
对所述第一响应报文的报文体中监听模块的代码进行实例化,得到所述浏览器中当前处于打开状态的网页对应的监听模块。
10.根据权利要求6-9任一项所述的方法,其特征在于,所述根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,利用所述监听模块控制所述内嵌iframe的登录弹窗执行所述属性值对应的操作之前,所述方法还包括:
利用监听模块控制所述内嵌iframe的登录弹窗为隐藏状态;
相应地,所述根据所述内嵌iframe的登录弹窗中iframe的位置属性的属性值,利用所述监听模块控制所述内嵌iframe的登录弹窗执行所述属性值对应的操作,包括:
利用所述监听模块判断所述iframe的位置属性的属性值能否在预设时间阈值内变成登录成功跳转URL;
若所述iframe的位置属性的属性值不能在预设时间阈值内变成登录成功跳转URL,利用所述监听模块控制所述登录弹窗显示;
当所述iframe的位置属性的属性值发生变化时,利用所述监听模块判断所述iframe的位置属性的属性值是否等于所述登录成功跳转URL;
若所述iframe的位置属性的属性值等于所述登录成功跳转URL,则利用所述监听模块将所述登录弹窗设置为隐藏状态并控制当前网页显示认证成功提示消息。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若所述iframe的位置属性的属性值能在预设时间阈值内变成登录成功跳转URL,则当所述iframe的位置属性的属性值发生变化时,利用所述监听模块判断所述iframe的位置属性的属性值是否等于所述登录成功跳转URL;
若所述iframe的位置属性的属性值所述登录成功跳转URL,则利用所述监听模块控制当前网页显示认证成功提示消息。
12.一种服务器,其特征在于,包括:收发器、存储器和处理器;所述存储器用于存储计算机程序,所述处理器执行所述计算机程序实现权利要求1至4任一项所述的登录形式转换方法。
13.一种终端设备,其特征在于,包括:收发器、存储器和处理器;所述存储器用于存储计算机程序,所述处理器执行所述计算机程序实现权利要求5至11任一项所述的登录形式转换方法。
14.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序用于实现权利要求1至4任一项所述的登录形式转换方法。
15.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序用于实现权利要求5至11任一项所述的登录形式转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010952858.3A CN112104641B (zh) | 2020-09-11 | 2020-09-11 | 登录形式转换方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010952858.3A CN112104641B (zh) | 2020-09-11 | 2020-09-11 | 登录形式转换方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104641A CN112104641A (zh) | 2020-12-18 |
CN112104641B true CN112104641B (zh) | 2022-07-29 |
Family
ID=73751416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010952858.3A Active CN112104641B (zh) | 2020-09-11 | 2020-09-11 | 登录形式转换方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104641B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112689017B (zh) * | 2020-12-28 | 2023-04-18 | 咪咕文化科技有限公司 | 重定向处理方法、装置、电子设备及存储介质 |
CN115913780A (zh) * | 2022-12-28 | 2023-04-04 | 四川长虹电器股份有限公司 | 一种Android TV无需浏览器进行WIFI认证的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012058896A1 (zh) * | 2010-11-04 | 2012-05-10 | 中兴通讯股份有限公司 | 单点登录方法及*** |
CN104519560A (zh) * | 2014-12-10 | 2015-04-15 | 广东欧珀移动通信有限公司 | 拦截移动终端请求的方法及移动终端 |
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多***单点登录方法 |
CN106685998A (zh) * | 2017-02-24 | 2017-05-17 | 浙江仟和网络科技有限公司 | 一种基于cas统一认证服务中间件的sso认证方法 |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及***、一种认证中心服务器 |
CN107786552A (zh) * | 2017-10-19 | 2018-03-09 | 用友网络科技股份有限公司 | 单点登录方法、***和计算机设备 |
CN109543376A (zh) * | 2018-11-30 | 2019-03-29 | 高新兴科技集团股份有限公司 | 登陆认证方法、计算机存储介质及电子设备 |
CN109862047A (zh) * | 2019-04-18 | 2019-06-07 | 首约科技(北京)有限公司 | 登录服务器的方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257182B2 (en) * | 2016-07-25 | 2019-04-09 | Okta, Inc. | Login proxy for third-party applications |
-
2020
- 2020-09-11 CN CN202010952858.3A patent/CN112104641B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012058896A1 (zh) * | 2010-11-04 | 2012-05-10 | 中兴通讯股份有限公司 | 单点登录方法及*** |
CN105592026A (zh) * | 2014-11-14 | 2016-05-18 | 国家电网公司 | 一种多网段多***单点登录方法 |
CN104519560A (zh) * | 2014-12-10 | 2015-04-15 | 广东欧珀移动通信有限公司 | 拦截移动终端请求的方法及移动终端 |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及***、一种认证中心服务器 |
CN106685998A (zh) * | 2017-02-24 | 2017-05-17 | 浙江仟和网络科技有限公司 | 一种基于cas统一认证服务中间件的sso认证方法 |
CN107786552A (zh) * | 2017-10-19 | 2018-03-09 | 用友网络科技股份有限公司 | 单点登录方法、***和计算机设备 |
CN109543376A (zh) * | 2018-11-30 | 2019-03-29 | 高新兴科技集团股份有限公司 | 登陆认证方法、计算机存储介质及电子设备 |
CN109862047A (zh) * | 2019-04-18 | 2019-06-07 | 首约科技(北京)有限公司 | 登录服务器的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112104641A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111628965B (zh) | 一种跨域名登录方法及装置 | |
US10374809B1 (en) | Digital signature verification for asynchronous responses | |
JP6533871B2 (ja) | ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法 | |
US8020193B2 (en) | Systems and methods for protecting web based applications from cross site request forgery attacks | |
EP2359576B1 (en) | Domain based authentication scheme | |
US11799841B2 (en) | Providing intercommunication within a system that uses disparate authentication technologies | |
US11336449B2 (en) | Information processing apparatus, computer program product, and resource providing method | |
CN107436873B (zh) | 一种网址跳转方法、装置及中转装置 | |
US9684628B2 (en) | Mechanism for inserting trustworthy parameters into AJAX via server-side proxy | |
US8914905B2 (en) | Access control system, communication terminal, server, and access control method | |
CN112104641B (zh) | 登录形式转换方法、装置、存储介质及电子设备 | |
CN103152365A (zh) | 对数据进行验证的数据验证方法及服务器 | |
US11570172B2 (en) | Secure identity provider authentication for native application to access web service | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
CN103036871A (zh) | 浏览器应用插件支持装置和方法 | |
US20150365397A1 (en) | Web authentication method and system | |
US9355269B2 (en) | Method and system for managing uniquely identifiable bookmarklets | |
CN112491776A (zh) | 安全认证方法及相关设备 | |
CN112600674A (zh) | 一种前后端分离***的用户安全认证方法、装置及存储介质 | |
CN115022047B (zh) | 基于多云网关的账户登录方法、装置、计算机设备及介质 | |
WO2014014854A1 (en) | Authenticating a user for testing purposes | |
CA2844888A1 (en) | System and method of extending a host website | |
CN113761509B (zh) | iframe验证登录方法及装置 | |
CN110647736A (zh) | 插件式坐席***登录方法、装置、计算机设备及存储介质 | |
US8381269B2 (en) | System architecture and method for secure web browsing using public computers |
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 |