软件工程师成长日记8266广告

Captive Portal - 连接WiFi自动弹出认证页面

2016-12-06  本文已影响7917人  神农民

摘要

解释Captive Portal是什么、为什么连上WiFi后会自动弹出认证页面。同时,说明主流操作系统的支持情况。

Captive Portal

中文通常译作“强制主页”或“强制登录门户”。是一个登录Web页面,通常由网络运营商或网关在用户能够正常访问互联网之前拦截用户的请求并将一个强制登录或认证主页呈现(通常是通过浏览器)给用户。该页面可能要求用户输入认证信息、支付、接受某些条款或者其他用户授权等,随后用户才能被授权访问互联网。该技术广泛用于移动和个人宽带服务,包括有线电视、商业WiFi、家庭热点等,也可用于访问企业和住宅区有线网络。

实现策略

实现Captive Portal的方法有很多,常见的几种方式有:

连接WiFi后自动弹出认证页面

单单网关实现了Captive Portal还不够,还不能自动弹出认证页面。需要操作系统支持才能实现在网络连接后主动弹出认证页面的功能。本人对iOS、Android、macOS以及Windows的测试结果如下:

  1. iOS从3.0开始支持,主动弹出窗口显示认证页面(非浏览器窗口)。
  2. Android从4.0以上开始支持,主动弹出窗口显示认证页面(非浏览器窗口)。
  3. macOS(OS X EI Capitan)支持,主动弹出窗口显示认证页面(非浏览器窗口)。
  4. Windows 7也支持。但并不是主动弹出认证页面,而是在网络图标上显示消息,提示打开浏览器。然后你需要随便访问一个页面(例如:http://www.163.com)即可在浏览器上显示认证页面。

一种简单的基于HTTP重定向的Captive Portal实现

当网关收到来自客户端的HTTP请求,例如:

GET http://www.example.com/

网关可以返回如下内容给客户端:

<meta HTTP-EQUIV='REFRESH' content='0; url=http://<your auth server ip>/login'>

浏览器或操作系统会重新加载url页面内容(就是认证页面)。

相关开源项目


阅读原文 | 作者官网 | 公众号 | Feed | 订阅 | 发私信

上一篇 下一篇

猜你喜欢

热点阅读