Portal 认证是一种基于 Web 的用户身份认证方式,它要求用户在访问网络资源之前先进行身份验证。TL-AC1000 的 Portal 认证流程如下:
1. 无线终端连接 Wi-Fi,访问任意外网:当无线客户端连接上 AP 发出的 Wi-Fi 信号后,用户打开浏览器访问任意外网时,会触发 Portal 认证。
2. AP 拦截无线客户端访问外网的 GET 数据包,并重定向到 WEB 服务器:没有通过认证的无线客户端发往外网的 GET 数据包会被 AP 拦截,并且 AP 会向客户端返回一条重定向条目,该条目携带了客户端所属的 VLAN、MAC 地址、IP 地址等信息。
3. 无线终端访问 WEB 服务器:无线终端根据重定向条目与 WEB 服务器建立连接。
4. WEB 服务器向无线终端返回认证页面:WEB 服务器向无线终端返回认证登录页面,用户需填写用户名、密码等信息进行认证。
5. 无线终端向 TL-AC1000 提交用户名和密码:用户填写用户名和密码后点击“登录”按钮,以 GET 的方式将用户名、密码、VLAN、MAC 地址、IP 地址等参数提交给 TL-AC1000。
6. TL-AC1000 向认证服务器提交认证信息:TL-AC1000 在获取客户端提交的信息之后,将所有参数提交给认证服务器进行认证。
7. 认证服务器向 TL-AC1000 返回认证结果:认证服务器根据 TL-AC1000 提交的信息判断用户是否通过认证,并向 TL-AC1000 返回认证结果。
8. TL-AC1000 向无线终端返回认证结果:TL-AC1000 根据认证服务器返回的结果向无线终端返回相应的认证结果。若认证成功,AC 则根据之前的 VLAN、MAC 地址、IP 地址等信息对相应设备的上网数据给予放行。
为了搭建 Portal 服务器,我们需要准备以下设备:
1. WEB 服务器:负责提供认证页面,接收用户的用户名和密码等认证信息。
2. 认证服务器:负责验证用户身份,支持 Radius 认证和本地认证。
3. 短信猫等系列设备:用于短信认证等业务。
在搭建 Portal 服务器时,需要注意以下几点:
1. 认证页面必须包含一个 Form 的 action=HTTP://AC IP:Port/portal/auth,其中 AC IP 为当前无线控制器 AC 的 IP 地址,Port 为 Portal 服务端口。
2. 认证登录页面以 Get 方式提交 Form 表单。
3. 认证登录页面必须包含用户名、密码、VLAN、MAC 地址、IP 地址等参数。
4. 认证服务器需支持 Radius 认证和本地认证,以确保用户身份验证的安全性。
通过以上步骤,我们就可以搭建一个功能完善的 Portal 服务器,为用户提供安全、便捷的网络访问。同时,Portal 认证流程还可以配合第三方认证系统,如短信猫等系列设备,以满足不同的业务需求。
在商场、酒店等环境,为了对终端进行广告推送,短信认证等,客户可以使用TL-AC1000的Portal认证功能配合第三方认证系统,包括提供Portal认证页面的WEB服务器、认证服务器、短信猫等系列设备。TL-AC1000提供与WEB服务器、认证服务器的通信接口,对WEB服务器的建立提出了一定的规范要求。
本文介绍TL-AC1000(适用于1.2.0 Build 20151125 Rel.51471及以后的软件版本)Portal认证流程以及Portal服务器搭建规范。
Portal认证流程图
流程及规范要求
第一步:无线终端连接Wi-Fi,访问任意外网
无线客户端连接上AP发出的Wi-Fi信号后,打开浏览器访问任意外网,触发portal认证;
第二步:AP拦截无线客户端访问外网的GET数据包,并重定向到WEB服务器
没有通过认证的无线客户端发往外网的GET数据包会被AP拦截,并且AP会向客户端返回一条重定向条目(假设WEB服务器域名为www.abc.com),重定向条目为http://www.abc.com/?pagetype=xxx&vlan=xxx&staMac=xxx&staIp=xxx&apMac=xxx&apIp=xxx
该条目主要携带以下有效信息:
参数 |
说明 |
www.abc.com |
WEB服务器域名 |
pagetype |
标志不同的认证方式 |
vlan |
客户端所属的VLAN |
staMac |
客户端的MAC地址 |
staIp |
客户端的IP地址 |
apMac |
客户端关联AP的MAC地址 |
apIp |
客户端关联AP的IP地址 |
第三步:无线终端访问WEB服务器
无线终端根据第二步返回的重定向条目与WEB服务器建立连接。
第四步:WEB服务器向无线终端返回认证页面
WEB服务器向无线终端返回认证登录页面,针对该认证登录页面,需满足以下规范:
1、认证页面必须有一个Form的action=http://AC IP:Port/portal/auth,其中AC IP为当前无线控制器AC的IP地址,Port为Portal服务端口。
2、认证登录页面以Get方式提交Form表单。
3、认证登录页面必须包含以下参数:
参数 |
说明 |
username |
用户名 |
password |
密码 |
vlan |
客户端所属的VLAN(从第二步的URL中获取) |
staMac |
客户端的MAC地址(从第二步的URL中获取) |
staIp |
客户端的IP地址(从第二步的URL中获取) |
apMac |
客户端关联AP的MAC地址(从第二步的URL中获取) |
apIp |
客户端关联AP的IP(从第二步的URL中获取) |
第五步:无线终端向TL-AC1000提交用户名和密码
无线终端在认证登录页面填写用户名和密码后点击“登录”按钮,就以GET的方式将username、password、vlan、staMac、staIp、APMac、apIp等参数提交给TL-AC1000。
第六步: TL-AC1000向认证服务器提交认证信息
TL-AC1000在获取客户端提交的信息之后,从vlan、staMac、staIp、APMac、apIp参数中确定需要进行认证的设备,然后把所有的参数提交给认证服务器进行认证,目前认证协议支持Radius认证和本地认证。
第七步:认证服务器向TL-AC1000返回认证结果
认证服务器根据TL-AC1000提交的信息判断用户是否通过认证,并且向TL-AC1000返回认证结果。
第八步: TL-AC1000向无线终端返回认证结果
TL-AC1000根据认证服务器返回来的结果向无线终端返回相应的认证结果,若认证成功,AC则根据之前的vlan、staMac、staIp、APMac、apIp参数信息对相应设备的上网数据给予放行。
网页认证Demo