CN112751844B - 一种Portal认证方法、装置及电子设备 - Google Patents

一种Portal认证方法、装置及电子设备 Download PDF

Info

Publication number
CN112751844B
CN112751844B CN202011581518.0A CN202011581518A CN112751844B CN 112751844 B CN112751844 B CN 112751844B CN 202011581518 A CN202011581518 A CN 202011581518A CN 112751844 B CN112751844 B CN 112751844B
Authority
CN
China
Prior art keywords
portal authentication
web client
page
portal
user
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
Application number
CN202011581518.0A
Other languages
English (en)
Other versions
CN112751844A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202011581518.0A priority Critical patent/CN112751844B/zh
Publication of CN112751844A publication Critical patent/CN112751844A/zh
Application granted granted Critical
Publication of CN112751844B publication Critical patent/CN112751844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols 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

本申请提供一种Portal认证方法、装置、电子设备及机器可读存储介质,应用于Portal认证设备,所述方法包括:响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向所述web客户端返回与所述HTTP访问请求对应的第一HTTP响应消息;其中,所述第一HTTP响应消息包括与所述Portal认证页面对应的页面数据和第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本从所述web客户端对应的webStorage中获取与所述用户对应的Portal认证信息,以及基于所述页面数据向用户输出所述Portal认证页面,并通过所述Portal认证页面向用户展示所述Portal认证信息;接收所述web客户端发送的Portal认证请求;响应于所述Portal认证请求,基于所述Portal认证信息进行Portal认证,并向所述web客户端返回Portal认证结果。

Description

一种Portal认证方法、装置及电子设备
技术领域
本申请涉及网络安全技术领域,尤其涉及一种Portal认证方法、装置、电子设备及机器可读存储介质。
背景技术
Portal认证是一种常见的Web认证技术,其基本原理为:当用户通过web客户端访问网络时,Portal认证设备会强制用户进入特定的页面,用户可以免费访问其中的页面服务;当用户访问互联网中的其他业务页面时,必须先在Portal认证页面进行认证,只有认证成功后才可以访问其他业务页面。
在实际应用中,未认证成功的用户通过web客户端访问互联网中的其他业务页面时,会被Portal认证设备强制重定向至Portal认证页面,以进行Portal认证;用户也可以直接访问Portal认证页面,并输入用户名和密码等认证信息进行认证。
但是,用户每次在Portal认证页面进行认证时,都需要手动输入用户名和密码等认证信息,导致用户的认证体验变差。
发明内容
有鉴于此,本申请提供一种Portal认证方法、装置、电子设备及机器可读存储介质,以解决在web客户端禁用cookie或者已清除cookie的场景中,用户Portal认证页面进行认证时,需要重复地手动输入已认证成功的Portal认证信息,导致用户的认证体验变差的问题。
本申请提供一种Portal认证方法,应用于Portal认证设备,所述方法包括:
响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向所述web客户端返回与所述HTTP访问请求对应的第一HTTP响应消息;其中,所述第一HTTP响应消息包括与所述Portal认证页面对应的页面数据和第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本从所述web客户端对应的webStorage中获取与所述用户对应的Portal认证信息,以及基于所述页面数据向用户输出所述Portal认证页面,并通过所述Portal认证页面向用户展示所述Portal认证信息;
接收所述web客户端发送的Portal认证请求;其中,所述Portal认证请求包括所述web客户端响应于用户在所述Portal认证页面中发起的认证操作触发的Portal认证请求;所述Portal认证请求中包括所述web客户端获取到的与所述用户对应的Portal认证信息;
响应于所述Portal认证请求,基于所述Portal认证信息进行Portal认证,并向所述web客户端返回Portal认证结果。
可选的,所述向所述web客户端返回Portal认证结果,包括:
如果所述Portal认证成功,则向所述web客户端返回Portal认证成功的结果;其中,所述Portal认证成功的结果包括与所述Portal认证信息对应的有效期和第二JavaScript脚本,以使所述web客户端执行所述第二JavaScript脚本将所述Portal认证信息和所述有效期关联存储。
可选的,所述Portal认证请求还包括所述web客户端的IP地址;
所述方法还包括:
如果所述Portal认证成功,将所述web客户端的IP地址加入认证白名单中。
可选的,所述方法还包括:
响应于所述web客户端发送的与业务页面对应的HTTP访问请求,向所述web客户端返回第二HTTP响应消息;其中,所述第二HTTP响应消息包括状态码为200的HTTP响应消息;所述第二HTTP响应消息包括第三JavaScript脚本,以使所述web客户端执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
可选的,向所述web客户端返回第二HTTP响应消息之前,还包括:
查询所述web客户端的IP地址是否命中所述认证白名单中的IP地址;
如果否,向所述web客户端返回所述第二HTTP响应消息。
可选的,所述执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,包括:
执行所述第三JavaScript脚本将所述Portal认证页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述Portal认证设备发送与所述URL地址对应的HTTP访问请求。
可选的,所述Portal认证成功的结果还包括第四JavaScript脚本,以使所述web客户端执行所述第四JavaScript脚本向所述业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,以完成针对所述业务页面的页面访问。
可选的,所述执行所述第四JavaScript脚本向所述业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,包括:
执行所述第四JavaScript脚本将所述业务页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述业务页面对应的服务端发送与所述URL地址对应的HTTP访问请求。
可选的,所述webStorage为localStorage。
本申请还提供一种Portal认证装置,应用于Portal认证设备,所述装置包括:
发送单元,用于响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向所述web客户端返回与所述HTTP访问请求对应的第一HTTP响应消息;其中,所述第一HTTP响应消息包括与所述Portal认证页面对应的页面数据和第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本从所述web客户端对应的webStorage中获取与所述用户对应的Portal认证信息,以及基于所述页面数据向用户输出所述Portal认证页面,并通过所述Portal认证页面向用户展示所述Portal认证信息;
接收单元,用于接收所述web客户端发送的Portal认证请求;其中,所述Portal认证请求包括所述web客户端响应于用户在所述Portal认证页面中发起的认证操作触发的Portal认证请求;所述Portal认证请求中包括所述web客户端获取到的与所述用户对应的Portal认证信息;
认证单元,用于响应于所述接收单元接收到的Portal认证请求,基于所述Portal认证信息进行Portal认证,并向所述web客户端返回Portal认证结果。
可选的,所述认证单元,具体用于:
如果所述Portal认证成功,则向所述web客户端返回Portal认证成功的结果;其中,所述Portal认证成功的结果包括与所述Portal认证信息对应的有效期和第二JavaScript脚本,以使所述web客户端执行所述第二JavaScript脚本将所述Portal认证信息和所述有效期关联存储。
可选的,所述Portal认证请求还包括所述web客户端的IP地址;
所述认证单元还用于:
如果所述Portal认证成功,将所述web客户端的IP地址加入认证白名单中。
可选的,所述发送单元还用于:
响应于所述web客户端发送的与业务页面对应的HTTP访问请求,向所述web客户端返回第二HTTP响应消息;其中,所述第二HTTP响应消息包括状态码为200的HTTP响应消息;所述第二HTTP响应消息包括第三JavaScript脚本,以使所述web客户端执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
可选的,向所述web客户端返回第二HTTP响应消息之前,所述发送单元还用于:
查询所述web客户端的IP地址是否命中所述认证白名单中的IP地址;
如果否,向所述web客户端返回所述第二HTTP响应消息。
可选的,所述执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,包括:
执行所述第三JavaScript脚本将所述Portal认证页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述Portal认证设备发送与所述URL地址对应的HTTP访问请求。
可选的,所述Portal认证成功的结果还包括第四JavaScript脚本,以使所述web客户端执行所述第四JavaScript脚本向所述业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,以完成针对所述业务页面的页面访问。
可选的,所述执行所述第四JavaScript脚本向所述业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,包括:
执行所述第四JavaScript脚本将所述业务页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述业务页面对应的服务端发送与所述URL地址对应的HTTP访问请求。
可选的,所述webStorage为localStorage。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,一方面,Portal认证设备向web客户端返回第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本自动从webStorage中读取与用户对应的Portal认证信息,并在Portal认证页面中向用户展示读取到的Portal认证信息,可以避免用户重复地手动输入已认证成功的Portal认证信息,从而提升用户的认证体验;另一方面,由于Portal认证信息存储在与web客户端对应的webStorage中,并基于Portal认证设备返回的第一JavaScript脚本读取,在所述web客户端禁用cookie或者已清除cookie的场景中,能够实现自动获取并展示Portal认证信息。
附图说明
图1是一示例性的实施例示出的一种Portal认证方法的流程图;
图2是一示例性的实施例示出的一种Portal认证方法的多方交互图;
图3是一示例性的实施例示出的一种Portal认证装置的框图;
图4是一示例性的实施例示出的一种Portal认证装置所在电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的Portal认证的相关技术,进行简要说明。
为了加强对网络资源的运营管理和安全控制,在一些场景中需要对用户的访问进行控制。例如,在一些有偿使用的网络接入点,提供接入服务的运营商只允许已付费的用户接入,并且为每个用户提供可以唯一识别的账号和密码;或者管理员希望将一些内部资源提供给外部用户使用,并且只有认证成功的外部用户才可以访问这些内部资源。因此,Portal认证技术提供了一种可以对web客户端的用户进行认证/计费的访问控制方式。
在实际应用中,未认证成功的用户通过浏览器访问互联网中的其他业务页面时,会被Portal认证设备拦截并重定向至Portal认证页面,以进行Portal认证;用户也可以直接访问Portal认证页面,并进行认证。
在上述Portal认证页面中,用户可以选择认证方式,例如账号密码认证、验证码认证等;如果用户选择基于账号密码进行Portal认证,则用户可以在上述Portal认证页面提供的认证表单中,输入账号、密码等认证信息,并在上述Portal认证页面发起认证操作,如点击“登录”按钮等,将在上述认证表单中输入的账号、密码等提交给Portal认证设备进行认证。
但是,当已认证成功的用户再次在Portal认证页面进行认证时,还是需要手动输入账号、密码等认证信息,导致用户的认证体验变差。
在一种现有技术方案中,当未认证的用户访问某些业务页面时,web客户端发送与业务页面对应的HTTP访问请求,Portal认证设备可以拦截该HTTP访问请求,并向上述web客户端返回状态码为302的HTTP响应报文,将该HTTP访问请求重定向至Portal认证页面,以使用户在Portal认证页面中输入账号、密码等进行认证;如果Portal认证设备认证成功,可以设置一个cookie并写入认证成功的账号、密码和有效期,通过报文头部信息传递给web客户端中。当已认证成功的用户在有效期内进行Portal认证时,web客户端可以从上述cookie中读取账号和密码,从而避免已认证成功的用户再次输入认证信息。
但是,在上述现有技术方案中,一方面,如果cookie存储在浏览器会话中,浏览器关闭会导致已存储的cookie被清除,已认证成功的用户下次进行Portal认证时,无法读取到写入cookie的账号密码,仍然需要手动输入认证信息;另一方面,如果用户出于安全性考虑,在web客户端禁用cookie或者清除cookie,也会导致已认证成功的用户仍然需要手动输入认证信息。另外,Portal认证设备拦截与业务页面对应的HTTP访问请求时,如果基于状态码为302的HTTP响应报文进行重定向,除了用户通过浏览器发送的访问请求,其他应用软件发起的请求也会被重定向至Portal认证页面,给Portal认证设备增加了不必要的负担。
有鉴于此,本说明书旨在提出一种,Portal认证设备响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,返回第一JavaScript脚本,以使所述web客户端自动从webStorage中读取与用户对应的Portal认证信息,来进行Portal认证的技术方案。
在实现时,Portal认证设备响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向上述web客户端返回与上述HTTP访问请求对应的第一HTTP响应消息;其中,上述第一HTTP响应消息包括与上述Portal认证页面对应的页面数据和第一JavaScript脚本,以使上述web客户端执行上述第一JavaScript脚本从上述web客户端对应的webStorage中获取与上述用户对应的Portal认证信息,以及基于上述页面数据向用户输出上述Portal认证页面,并通过上述Portal认证页面向用户展示上述Portal认证信息;
接收上述web客户端发送的Portal认证请求;其中,上述Portal认证请求包括上述web客户端响应于用户在上述Portal认证页面中发起的认证操作触发的Portal认证请求;上述Portal认证请求中包括上述web客户端获取到的与上述用户对应的Portal认证信息;
响应于上述Portal认证请求,基于上述Portal认证信息进行Portal认证,并向上述web客户端返回Portal认证结果。
在以上技术方案中,一方面,Portal认证设备向web客户端返回第一JavaScript脚本,以使上述web客户端执行第一JavaScript脚本从webStorage中读取与用户对应的Portal认证信息,并在Portal认证页面中自动向用户展示读取到的Portal认证信息,可以避免用户重复地手动输入已认证成功的Portal认证信息,从而提升用户的认证体验;另一方面,已认证成功的Portal认证信息存储在与web客户端对应的webStorage中,并由web客户端执行Portal认证设备返回的第一JavaScript脚本从上述webStorage中读取,从而在web客户端禁用cookie或者已清除cookie的场景中,实现自动获取已认证成功的Portal认证信息。
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。
请参见图1,图1是一示例性的实施例示出的一种Portal认证方法的流程图,上述方法应用于Portal认证设备,上述Portal认证方法执行以下步骤:
步骤102:响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向上述web客户端返回与上述HTTP访问请求对应的第一HTTP响应消息;其中,上述第一HTTP响应消息包括与上述Portal认证页面对应的页面数据和第一JavaScript脚本,以使上述web客户端执行上述第一JavaScript脚本从上述web客户端对应的webStorage中获取与上述用户对应的Portal认证信息,以及基于上述页面数据向用户输出上述Portal认证页面,并通过上述Portal认证页面向用户展示上述Portal认证信息;
步骤104:接收上述web客户端发送的Portal认证请求;其中,上述Portal认证请求包括上述web客户端响应于用户在上述Portal认证页面中发起的认证操作触发的Portal认证请求;上述Portal认证请求中包括上述web客户端获取到的与上述用户对应的Portal认证信息;
步骤106:响应于上述Portal认证请求,基于上述Portal认证信息进行Portal认证,并向上述web客户端返回Portal认证结果。
在本说明书中,上述Portal认证设备,可以包括部署Portal的接入设备或安装有Portal认证系统的网络设备;其中,上述Portal认证系统至少包括Portal服务器和接入设备,还可以包括AAA(Authentication,Authorization,Accounting,认证/授权/计费)服务器、安全策略服务器等。
例如,上述Portal认证设备,具体可以包括本地Portal,上述本地Portal指内嵌有Portal服务器的接入设备。上述Portal认证设备,具体也可以包括将接入设备、Portal服务器和AAA服务器部署在一起的网络设备。
在本说明书中,上述Portal认证设备可以接收web客户端发送的与Portal认证页面对应的HTTP访问请求。
在实际应用中,上述Portal认证设备响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,可以向上述web客户端返回与Portal认证页面对应的页面数据,以使上述web客户端向用户展示上述Portal认证页面。
在本说明书中,上述Portal认证设备可以对web客户端发送的Portal认证请求中携带的Portal认证信息进行认证。
在实际应用中,上述Portal认证信息可以是用户在Portal认证页面中手动输入的账号、密码等认证信息,也可以是web客户端自动写入Portal认证页面的账号、密码等认证信息。当用户在Portal认证页面中发起认证操作后,上述web客户端可以向上述Portal认证设备发送携带有Portal认证信息的Portal认证请求;上述Portal认证设备接收到Portal认证请求后,可以对上述Portal认证信息进行认证,并向上述web客户端返回认证结果。
在本说明书中,上述web客户端可以包括web浏览器,可以用于将用户向服务器请求的网络资源在用户界面中展示给用户。
在实际应用中,web客户端的组件可以包括用户界面、引擎、JS解释器和数据存储等;其中,基于上述JS解释器,上述web客户端可以执行接收到的JavaScript脚本;上述数据存储通常可以包括与上述web客户端对应的webStorage,由于webStorage属于本地存储,存储在webStorage中的数据无需持续地随着web客户端发送给服务器的请求被传递,可以将已认证成功的Portal认证信息存储在web客户端对应的webStorage上,从而可以克服cookie带来的限制。
例如,上述web客户端可以基于向Portal认证设备请求的与Portal认证页面对应的页面数据,在用户界面中给用户展示Portal认证页面。上述web客户端也可以基于向服务器请求的与业务页面对应的页面数据,在用户界面中给用户展示上述业务页面。
在本说明书中,上述Portal认证设备响应于上述web客户端发送的与Portal认证页面对应的HTTP访问请求,向上述web客户端返回与上述HTTP访问请求对应的第一HTTP响应消息;其中,上述第一HTTP响应消息包括与上述Portal认证页面对应的页面数据和第一JavaScript脚本,以使上述web客户端执行上述第一JavaScript脚本从上述web客户端对应的webStorage中获取与上述用户对应的Portal认证信息,以及基于上述页面数据向用户输出上述Portal认证页面,并通过上述Portal认证页面向用户展示上述Portal认证信息。
在实际应用中,上述Portal认证设备向上述web客户端返回的第一HTTP响应消息,可以包括与Portal认证页面对应的页面数据和第一JavaScript脚本。上述web客户端执行第一JavaScript脚本,可以从与其对应的webStorage中获取与用户对应的Portal认证信息,并且可以将获取的Portal认证信息自动写入Portal认证页面中,向用户展示。
例如,用户A可以通过浏览器向Portal认证设备发送Portal认证页面访问请求;Portal认证设备接收到Portal认证页面访问请求后,可以向浏览器返回Portal认证页面的页面数据和第一JavaScript脚本;浏览器可以基于Portal认证设备返回的Portal认证页面的页面数据向用户A输出Portal认证页面,并且浏览器可以执行第一JavaScript脚本,从与该浏览器对应的webStorage中获取与用户A对应的账号、密码和有效期等,并将获取到的与用户A对应的账号和密码写入Portal认证页面的认证表单中。
需要说明的是,上述web客户端执行第一JavaScript脚本,从与其对应的webStorage中获取与用户对应的Portal认证信息后,可以先判断获取的Portal认证信息是否在有效期内;如果在有效期内,则上述web客户端可以将获取到的账号和密码等自动写入Portal认证页面中,以方便用户确认上述自动获取并写入Portal认证页面的Portal认证信息是否准确,用户只需要审核一下,无需再次输入;如果不在有效期内,出于安全性考虑,需要用户重新输入账号和密码等,上述web客户端执行第一JavaScript脚本可以获取用户在Portal认证页面中重新输入的Portal认证信息。
另外,需要说明的是,如果上述web客户端执行第一JavaScript脚本,无法从与其对应的webStorage中获取与用户对应的Portal认证信息,说明该用户并未认证成功过,需要用户手动输入账号和密码等;上述web客户端执行第一JavaScript脚本可以获取该用户在Portal认证页面中输入的Portal认证信息。
在示出的一种实施方式中,上述webStorage为localStorage。
在实际应用中,上述webStorage可以包括localStorage和sessionStorage;其中,上述localStorage具体包括对特定域名下的本地存储,上述sessionStorage具体包括对特定域名下的会话存储。localStorage中存储的数据可以长期保留,通常以键值对(key-value)的形式保存,并且这些键值对通常以字符串的形式存储,只要用户没有手动删除,这些Portal认证信息就一直存在;而sessionStorage的存储周期为当前会话,浏览器会话结束时(即浏览器关闭时),存储在sessionStorage中的数据就会被删除。
需要说明的是,在以上示出的实施方式中,当已认证成功的Portal认证信息存储在localStorage中时,即使在web客户端禁用cookie、已清除cookie、或者浏览器关闭的场景中,web客户端依然能够从localStorage中获取已认证成功的Portal认证信息。
在本说明书中,上述Portal认证设备接收上述web客户端发送的Portal认证请求;其中,上述Portal认证请求包括上述web客户端响应于用户在上述Portal认证页面中发起的认证操作触发的Portal认证请求;上述Portal认证请求中包括上述web客户端获取到的与上述用户对应的Portal认证信息。
在实际应用中,当用户在Portal认证页面中发起认证操作后,可以触发web客户端向Portal认证设备发送Portal认证请求;上述Portal认证请求携带有上述web客户端获取到的与上述用户对应的Portal认证信息,其中,上述Portal认证信息可以是上述web客户端执行第一JavaScript脚本,从与其对应的webStorage中获取到的Portal认证信息,也可以是上述web客户端获取到的用户在Portal认证页面中手动输入的Portal认证信息。
例如,用户A可以先审核浏览器自动获取并写入Portal认证页面的账号、密码是否准确,确认无误后,用户可以在Portal认证页面点击“提交”按钮;浏览器响应于用户A的上述认证操作,向Portal认证设备发送Portal认证请求,该Portal认证请求中携带有上述与用户A对应的账号、密码。
在本说明书中,上述Portal认证设备响应于上述Portal认证请求,基于上述Portal认证信息进行Portal认证,并向上述web客户端返回Portal认证结果。
例如,Portal认证设备接收到浏览器发送的Portal认证请求后,基于上述与用户A对应的账号、密码进行Portal认证,并向上述浏览器返回Portal认证成功或失败的结果。关于上述Portal认证设备基于接收到的Portal认证信息进行Portal认证的具体实现过程,请参见相关技术,在此不作赘述。
在示出的一种实施方式中,在上述Portal认证设备向上述web客户端返回Portal认证结果的过程中,如果上述Portal认证成功,则上述Portal认证设备向上述web客户端返回Portal认证成功的结果;其中,上述Portal认证成功的结果包括与上述Portal认证信息对应的有效期和第二JavaScript脚本,以使上述web客户端执行第二JavaScript脚本将上述Portal认证信息和上述有效期关联存储。
在实际应用中,Portal认证设备通常可以为认证通过的Portal认证信息设置对应的有效期,并在web客户端对应的webStorage中将已认证通过的Portal认证信息和对应的有效期关联存储,从而后续已认证成功过的用户在有效期内再次进行认证时,可以实现自动获取Portal认证信息。
其中,上述web客户端执行第二JavaScript脚本将Portal认证信息和有效期关联存储,具体可以包括:如果上述web客户端对应的webStorage中没有存储与用户对应的Portal认证信息,则上述web客户端执行第二JavaScript脚本,将已认证通过的Portal认证信息和对应的有效期写入上述webStorage中;如果上述web客户端对应的webStorage中已存储有与用户对应的Portal认证信息,则上述web客户端执行第二JavaScript脚本,对上述webStorage中存储的与用户对应的Portal认证信息对应的有效期进行更新。
例如,Portal认证设备可以基于上述与用户A对应的账号、密码进行Portal认证,认证成功后,可以设置与用户A对应的账号、密码的有效期为7天,并向上述浏览器返回Portal认证成功的结果,上述Portal认证成功的结果包括上述有效期信息以及第二JavaScript脚本;上述浏览器接收到上述Portal认证设备返回的Portal认证成功的结果后,可以执行第二JavaScript脚本,根据当前的系统时间以及上述返回的有效期,对localStorage中存储的与用户A对应的账号、密码的有效期进行更新。
需要说明的是,在以上示出的实施方式中,上述web客户端执行第二JavaScript脚本将Portal认证信息和有效期关联存储时,需要区分上述web客户端对应的webStorage中是否存储有与用户对应的Portal认证信息,具体可以包括:根据上述web客户端在Portal认证页面中获取到的Portal认证信息是自动获取并写入的Portal认证信息,还是用户输入的Portal认证信息,上述web客户端可以在发送的Portal认证请求中添加不同的标签,Portal认证设备可以根据上述标签来决定返回的第二JavaScript脚本与哪种情况对应;或者,上述web客户端执行第二JavaScript脚本,判断webStorage中是否存储有与用户对应的Portal认证信息。应当理解的是,以上仅仅是示例性的描述,并不对本说明书做限制。
在示出的一种实施方式中,上述Portal认证请求还包括上述web客户端的IP地址;如果上述Portal认证成功,上述Portal认证设备将上述web客户端的IP地址加入认证白名单中。
在实际应用中,上述web客户端的IP地址,也就是上述Portal认证请求的源IP地址。
需要说明的是,上述web客户端通常与用户相对应,上述Portal认证设备认证成功后,可以将上述web客户端的IP地址加入认证白名单中,并且可以维护上述认证白名单;后续Portal认证设备接收到来自同一IP地址的HTTP访问请求时可以直接通过,无需再次进行Portal认证。
为了方便理解实现上述Portal认证方法的过程中的多方交互,下面以Portal认证设备拦截web客户端发送的业务页面访问请求并进行Portal认证为例,对本申请进行描述。
请参见图2,图2是一示例性的实施例示出的一种Portal认证方法的多方交互图,上述方法应用于Portal认证设备,上述Portal认证方法执行以下步骤:
步骤201:发送与业务页面对应的HTTP访问请求;
步骤202:返回第二HTTP响应消息;其中,上述第二HTTP响应消息包括第三JavaScript脚本;
步骤203:执行上述第三JavaScript脚本;
步骤204:发送与Portal认证页面对应的HTTP访问请求;
步骤205:返回第一HTTP响应消息;其中,上述第一HTTP响应消息包括与上述Portal认证页面对应的页面数据和第一JavaScript脚本;
步骤206:执行上述第一JavaScript脚本,获取与用户对应的Portal认证信息;
步骤207:发送Portal认证请求;
步骤208:基于上述Portal认证信息进行Portal认证;
步骤209:返回Portal认证成功结果;其中,上述Portal认证成功的结果还包括第四JavaScript脚本;
步骤210:执行上述第四JavaScript脚本;
步骤211:发送与上述业务页面对应的HTTP访问请求。
在本说明书中,步骤205-步骤208的具体实现方式与上述步骤102-步骤106相似,在此不再赘述。
在示出的一种实施方式中,上述Portal认证设备响应于上述web客户端发送的与业务页面对应的HTTP访问请求,向上述web客户端返回第二HTTP响应消息;其中,上述第二HTTP响应消息包括状态码为200的HTTP响应消息;上述第二HTTP响应消息包括第三JavaScript脚本,以使上述web客户端执行第三JavaScript脚本向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
在实际应用中,上述Portal认证设备拦截上述web客户端发送的与业务页面对应的HTTP访问请求时,可以向上述web客户端返回状态码为200的第二HTTP响应消息;其中,上述业务页面可以包括除Portal认证页面之外的、仅允许认证成功的用户访问的业务页面。上述web客户端执行第三JavaScript脚本,可以向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
例如,未认证的用户A通过浏览器向业务服务端发送业务页面访问请求时,如www.baidu.com等,会被Portal认证设备拦截;Portal认证设备接收到业务页面访问请求后,可以向浏览器返回状态码为200的HTTP响应消息,其中包括第三JavaScript脚本;浏览器可以基于上述HTTP 200消息,确定上述业务页面访问请求已被Portal认证设备拦截,并可以执行第三JavaScript脚本,向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,以重定向至Portal认证页面,对用户A进行认证。
需要说明的是,相较于现有的技术方案中基于状态码为302的HTTP响应消息进行重定向,以上示出的实施方式中,Portal认证设备拦截与业务页面对应的HTTP访问请求时,基于状态码为200的HTTP响应消息进行重定向;由于web客户端需要执行第三JavaScript脚本才能重定向至Portal认证页面,而浏览器之外的软件通常无法执行第三JavaScript脚本,也就无法发送与Portal认证页面对应的HTTP访问请求,从而可以减轻Portal认证设备的负担,提升Portal认证设备的性能。
在示出的一种实施方式中,上述web客户端执行第三JavaScript脚本向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,具体包括:上述web客户端执行第三JavaScript脚本将上述Portal认证页面的URL地址设置为上述web客户端的window.location对象的属性值,以使上述web客户端基于上述window.location对象的属性值获取上述URL地址,并向上述Portal认证设备发送与上述URL地址对应的HTTP访问请求。
在实际应用中,上述web客户端的window.location对象,可以用于获取页面的URL地址并将web客户端重定向至与URL地址对应的新页面。上述web客户端执行第三JavaScript脚本,可以将Portal认证页面的URL地址设置为window.location对象的属性值,以使上述web客户端获取Portal认证页面的URL地址,并重定向至Portal认证页面。
例如,浏览器执行第三JavaScript脚本,可以将Portal认证页面的URL地址设置为上述web客户端的window.location对象的属性值,浏览器可以基于window.location对象的属性值,获得上述Portal认证页面的URL地址,并向Portal认证设备发送与上述URL地址对应的HTTP访问请求。
在示出的另一种实施方式中,上述Portal认证设备向上述web客户端返回第二HTTP响应消息之前,可以先查询上述web客户端的IP地址是否命中上述认证白名单中的IP地址;如果否,向上述web客户端返回上述第二HTTP响应消息。
例如,用户A通过浏览器向业务服务端发送与www.baidu.com对应的访问请求,Portal认证设备在拦截之前,先查询上述访问请求的源IP地址是否命中上述认证白名单中的IP地址;如果命中,说明用户A已认证成功,则允许用户A直接访问www.baidu.com;如果没命中,说明用户A未认证成功过,则向浏览器返回状态码为200的HTTP响应消息,以使上述web浏览器可以执行第三JavaScript脚本重定向至Portal认证页面进行认证。
需要说明的是,如果上述web客户端的IP地址可以命中认证白名单中的IP地址,则无需进行Portal认证,可以直接允许用户访问其他业务页面,从而提升用户的认证体验。另外,在实际应用中,Portal认证设备也可以基于免认证策略,确定是否需要对用户进行Portal认证。
在示出的一种实施方式中,如果上述Portal认证成功,则上述Portal认证设备向上述web客户端返回Portal认证成功的结果;其中,上述Portal认证成功的结果还包括第四JavaScript脚本,以使上述web客户端执行第四JavaScript脚本向上述业务页面对应的服务端发送与上述业务页面对应的HTTP访问请求,以完成针对上述业务页面的页面访问。
例如,用户A在通过浏览器请求访问www.baidu.com时,被Portal认证设备拦截,并引导至Portal认证页面进行认证;如果用户A认证成功,则Portal认证设备向浏览器返回的Portal认证成功的结果还包括第四JavaScript脚本;浏览器执行第四JavaScript脚本,可以向与www.baidu.com对应的服务器发送HTTP访问请求,以使用户在Portal认证成功后可以继续完成对www.baidu.com的访问。
需要说明的是,如果Portal认证成功,Portal认证设备可以基于向web客户端返回的第四JavaScript脚本,以使上述web客户端继续访问用户最初希望访问的业务页面,从而提升用户的体验。
在示出的一种实施方式中,上述web客户端执行第四JavaScript脚本向上述业务页面对应的服务端发送与上述业务页面对应的HTTP访问请求,以完成针对上述业务页面的页面访问,具体包括:上述web客户端执行第四JavaScript脚本将上述业务页面的URL地址设置为上述web客户端的window.location对象的属性值,以使上述web客户端基于上述window.location对象的属性值获取上述URL地址,并向上述业务页面对应的服务端发送与上述URL地址对应的HTTP访问请求。
在实际应用中,上述web客户端执行第四JavaScript脚本,可以将业务页面的URL地址设置为window.location对象的属性值,以使上述web客户端获取业务页面的URL地址,并重定向至指定的业务页面。
需要说明的是,在以上示出的实施方式中,上述业务页面可以包括用户最初希望访问的页面,也可以包括其他指定的页面,如导航页面等。上述web客户端执行第四JavaScript脚本,可以将业务页面的URL地址设置为window.location对象的属性值,以使上述web客户端获取业务页面的URL地址,并重定向至指定的业务页面。
在本说明书的技术方案中,一方面,Portal认证设备向web客户端返回第一JavaScript脚本,以使上述web客户端执行第一JavaScript脚本从webStorage中读取与用户对应的Portal认证信息,并在Portal认证页面中自动向用户展示读取到的Portal认证信息,可以避免用户重复地手动输入已认证成功的Portal认证信息,从而提升用户的认证体验;另一方面,已认证成功的Portal认证信息存储在与web客户端对应的webStorage中,并由web客户端执行Portal认证设备返回的第一JavaScript脚本从webStorage中读取,从而在web客户端禁用cookie或者已清除cookie的场景中,实现自动获取已认证成功的Portal认证信息。
与上述方法实施例对应地,本说明书还提供了一种Portal认证装置的实施例。
请参见图3,图3是一示例性的实施例示出的一种Portal认证装置的框图,上述装置应用于Portal认证设备,上述装置可以包括如下所示单元:
发送单元301,用于响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向上述web客户端返回与上述HTTP访问请求对应的第一HTTP响应消息;其中,上述第一HTTP响应消息包括与上述Portal认证页面对应的页面数据和第一JavaScript脚本,以使上述web客户端执行上述第一JavaScript脚本从上述web客户端对应的webStorage中获取与上述用户对应的Portal认证信息,以及基于上述页面数据向用户输出上述Portal认证页面,并通过上述Portal认证页面向用户展示上述Portal认证信息;
接收单元302,用于接收上述web客户端发送的Portal认证请求;其中,上述Portal认证请求包括上述web客户端响应于用户在上述Portal认证页面中发起的认证操作触发的Portal认证请求;上述Portal认证请求中包括上述web客户端获取到的与上述用户对应的Portal认证信息;
认证单元303,用于响应于上述接收单元接收到的Portal认证请求,基于上述Portal认证信息进行Portal认证,并向上述web客户端返回Portal认证结果。
在本实施例中,上述认证单元303,具体用于:
如果上述Portal认证成功,则向上述web客户端返回Portal认证成功的结果;其中,上述Portal认证成功的结果包括与上述Portal认证信息对应的有效期和第二JavaScript脚本,以使上述web客户端执行上述第二JavaScript脚本将上述Portal认证信息和上述有效期关联存储。
在本实施例中,上述Portal认证请求还包括上述web客户端的IP地址;
上述认证单元303还用于:
如果上述Portal认证成功,将上述web客户端的IP地址加入认证白名单中。
在本实施例中,上述发送单元301还用于:
响应于上述web客户端发送的与业务页面对应的HTTP访问请求,向上述web客户端返回第二HTTP响应消息;其中,上述第二HTTP响应消息包括状态码为200的HTTP响应消息;上述第二HTTP响应消息包括第三JavaScript脚本,以使上述web客户端执行上述第三JavaScript脚本向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
在本实施例中,向上述web客户端返回第二HTTP响应消息之前,上述发送单元301还用于:
查询上述web客户端的IP地址是否命中上述认证白名单中的IP地址;
如果否,向上述web客户端返回上述第二HTTP响应消息。
在本实施例中,上述执行上述第三JavaScript脚本向上述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,包括:
执行上述第三JavaScript脚本将上述Portal认证页面的URL地址设置为上述web客户端的window.location对象的属性值,以使上述web客户端基于上述window.location对象的属性值获取上述URL地址,并向上述Portal认证设备发送与上述URL地址对应的HTTP访问请求。
在本实施例中,上述Portal认证成功的结果还包括第四JavaScript脚本,以使上述web客户端执行上述第四JavaScript脚本向上述业务页面对应的服务端发送与上述业务页面对应的HTTP访问请求,以完成针对上述业务页面的页面访问。
在本实施例中,上述执行上述第四JavaScript脚本向上述业务页面对应的服务端发送与上述业务页面对应的HTTP访问请求,包括:
执行上述第四JavaScript脚本将上述业务页面的URL地址设置为上述web客户端的window.location对象的属性值,以使上述web客户端基于上述window.location对象的属性值获取上述URL地址,并向上述业务页面对应的服务端发送与上述URL地址对应的HTTP访问请求。
在本实施例中,上述webStorage为localStorage。
此外,本说明书还提供了一种Portal认证装置所在的电子设备的实施例。
与上述方法实施例对应地,本说明书还提供了一种Portal认证装置的实施例。本说明书的Portal认证装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,请参见图4,图4是一示例性的实施例示出的一种Portal认证装置所在电子设备的硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (9)

1.一种Portal认证方法,应用于Portal认证设备,其特征在于,所述方法包括:
响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向所述web客户端返回与所述HTTP访问请求对应的第一HTTP响应消息;其中,所述第一HTTP响应消息包括与所述Portal认证页面对应的页面数据和第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本从所述web客户端对应的webStorage中获取与用户对应的Portal认证信息,以及基于所述页面数据向用户输出所述Portal认证页面,并通过所述Portal认证页面向用户展示所述Portal认证信息;
接收所述web客户端发送的Portal认证请求;其中,所述Portal认证请求包括所述web客户端响应于用户在所述Portal认证页面中发起的认证操作触发的Portal认证请求;所述Portal认证请求中包括所述web客户端获取到的与所述用户对应的Portal认证信息;
响应于所述Portal认证请求,基于所述Portal认证信息进行Portal认证,并向所述web客户端返回Portal认证结果;
所述向所述web客户端返回Portal认证结果,包括:
如果所述Portal认证成功,则向所述web客户端返回Portal认证成功的结果;其中,所述Portal认证成功的结果包括与所述Portal认证信息对应的有效期和第二JavaScript脚本,以使所述web客户端执行所述第二JavaScript脚本将所述Portal认证信息和所述有效期关联存储。
2.根据权利要求1所述的方法,其特征在于,所述Portal认证请求还包括所述web客户端的IP地址;所述方法还包括:
如果所述Portal认证成功,将所述web客户端的IP地址加入认证白名单中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于所述web客户端发送的与业务页面对应的HTTP访问请求,向所述web客户端返回第二HTTP响应消息;其中,所述第二HTTP响应消息包括状态码为200的HTTP响应消息;所述第二HTTP响应消息包括第三JavaScript脚本,以使所述web客户端执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求。
4.根据权利要求3所述的方法,其特征在于,向所述web客户端返回第二HTTP响应消息之前,还包括:
查询所述web客户端的IP地址是否命中所述认证白名单中的IP地址;
如果否,向所述web客户端返回所述第二HTTP响应消息。
5.根据权利要求3所述的方法,其特征在于,所述执行所述第三JavaScript脚本向所述Portal认证设备发送与Portal认证页面对应的HTTP访问请求,包括:
执行所述第三JavaScript脚本将所述Portal认证页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述Portal认证设备发送与所述URL地址对应的HTTP访问请求。
6.根据权利要求1所述的方法,其特征在于,所述Portal认证成功的结果还包括第四JavaScript脚本,以使所述web客户端执行所述第四JavaScript脚本向业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,以完成针对所述业务页面的页面访问。
7.根据权利要求6所述的方法,其特征在于,所述执行所述第四JavaScript脚本向所述业务页面对应的服务端发送与所述业务页面对应的HTTP访问请求,包括:
执行所述第四JavaScript脚本将所述业务页面的URL地址设置为所述web客户端的window.location对象的属性值,以使所述web客户端基于所述window.location对象的属性值获取所述URL地址,并向所述业务页面对应的服务端发送与所述URL地址对应的HTTP访问请求。
8.根据权利要求1所述的方法,其特征在于,所述webStorage为localStorage。
9.一种Portal认证装置,应用于Portal认证设备,其特征在于,所述装置包括:
发送单元,用于响应于web客户端发送的与Portal认证页面对应的HTTP访问请求,向所述web客户端返回与所述HTTP访问请求对应的第一HTTP响应消息;其中,所述第一HTTP响应消息包括与所述Portal认证页面对应的页面数据和第一JavaScript脚本,以使所述web客户端执行所述第一JavaScript脚本从所述web客户端对应的webStorage中获取与用户对应的Portal认证信息,以及基于所述页面数据向用户输出所述Portal认证页面,并通过所述Portal认证页面向用户展示所述Portal认证信息;
接收单元,用于接收所述web客户端发送的Portal认证请求;其中,所述Portal认证请求包括所述web客户端响应于用户在所述Portal认证页面中发起的认证操作触发的Portal认证请求;所述Portal认证请求中包括所述web客户端获取到的与所述用户对应的Portal认证信息;
认证单元,用于响应于所述接收单元接收到的Portal认证请求,基于所述Portal认证信息进行Portal认证,并向所述web客户端返回Portal认证结果;
所述向所述web客户端返回Portal认证结果,包括:
如果所述Portal认证成功,则向所述web客户端返回Portal认证成功的结果;其中,所述Portal认证成功的结果包括与所述Portal认证信息对应的有效期和第二JavaScript脚本,以使所述web客户端执行所述第二JavaScript脚本将所述Portal认证信息和所述有效期关联存储。
CN202011581518.0A 2020-12-28 2020-12-28 一种Portal认证方法、装置及电子设备 Active CN112751844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011581518.0A CN112751844B (zh) 2020-12-28 2020-12-28 一种Portal认证方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011581518.0A CN112751844B (zh) 2020-12-28 2020-12-28 一种Portal认证方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112751844A CN112751844A (zh) 2021-05-04
CN112751844B true CN112751844B (zh) 2022-11-01

Family

ID=75646627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011581518.0A Active CN112751844B (zh) 2020-12-28 2020-12-28 一种Portal认证方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112751844B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234388A (zh) * 2016-12-13 2018-06-29 上海掌门科技有限公司 一种网页自动认证方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279775A (ja) * 2004-07-01 2007-10-25 Akihiko Narita ウェブ・アクセスポイント認証(wapa)が可能なウェブサーバー認証システム
CN102196434A (zh) * 2010-03-10 2011-09-21 中国移动通信集团公司 无线局域网终端认证方法及系统
CN102378175A (zh) * 2011-10-08 2012-03-14 华为终端有限公司 一种无线局域网络认证方法及移动终端
CN105868351B (zh) * 2016-03-29 2020-03-20 上海斐讯数据通信技术有限公司 一种基于浏览器的接入认证页面跳转方法及用户终端
CN105871853A (zh) * 2016-04-11 2016-08-17 上海斐讯数据通信技术有限公司 一种入口认证方法和系统
CN108132973A (zh) * 2017-12-06 2018-06-08 杭州迪普科技股份有限公司 Web跳转页面的载入方法及装置、计算机可读存储介质
CN111092904B (zh) * 2019-12-27 2022-04-26 杭州迪普科技股份有限公司 网络连接方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234388A (zh) * 2016-12-13 2018-06-29 上海掌门科技有限公司 一种网页自动认证方法及设备

Also Published As

Publication number Publication date
CN112751844A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109587133B (zh) 一种单点登录系统及方法
US11218460B2 (en) Secure authentication for accessing remote resources
US10496994B2 (en) Enhanced authentication with dark web analytics
CN112333198B (zh) 安全跨域登录方法、系统及服务器
EP3092775B1 (en) Method and system for determining whether a terminal logging into a website is a mobile terminal
US7685631B1 (en) Authentication of a server by a client to prevent fraudulent user interfaces
US11770385B2 (en) Systems and methods for malicious client detection through property analysis
KR20060047252A (ko) 이동 장치를 통한 계정 생성 방법 및 시스템
US9059987B1 (en) Methods and systems of using single sign-on for identification for a web server not integrated with an enterprise network
US20130185645A1 (en) Determining repeat website users via browser uniqueness tracking
US10650153B2 (en) Electronic document access validation
US9866587B2 (en) Identifying suspicious activity in a load test
US9210155B2 (en) System and method of extending a host website
US20230171087A1 (en) Server Side Authentication
CN116484338A (zh) 数据库访问方法及装置
US11700280B2 (en) Multi-tenant authentication framework
JP7018455B2 (ja) ドメインポータル上のセッション固定を防ぐためのシステムおよび方法
CN117251837A (zh) 一种系统接入方法、装置、电子设备及存储介质
CN112751844B (zh) 一种Portal认证方法、装置及电子设备
CN112836186A (zh) 一种页面控制方法及装置
CN107343028B (zh) 一种基于http协议的通信方法及系统
CN110875903A (zh) 一种安全防御方法及设备
CN111385313B (zh) 一种对象请求合法性验证的方法和系统
US20230401275A1 (en) Tenant network for rewriting of code included in a web page
US20230188565A1 (en) Detecting web resources spoofing through stylistic fingerprints

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