为了满足广告推送,微信认证等需求,商场、酒店等使用企业路由器中的Portal认证功能时需配合第三方认证系统,包括提供Portal认证页面的WEB服务器、认证服务器等系列设备。
实现流程:
第一步:客户端连接网络,访问任意HTTP外网网页
客户端连接上网络后,打开浏览器访问任意HTTP外网网页,触发Portal认证。
第二步:路由器拦截客户端访问外网的GET数据包,并重定向到WEB服务器
没有通过认证的客户端发往外网的GET数据包会被企业路由器拦截,并且会向客户端返回一条重定向条目(假设WEB服务器域名为www.abc.com),重定向条目为http://www.abc.com/?gw_address=xxx&gw_port=xxx&gw_id=xxx&ip=xxx&mac=xxx&url=xxx。
注意:若WEB服务器在路由器外网,URL地址需要在路由器设置免认证策略,若WEB服务器端口为非80端口,还需要将WEB服务器的端口设置免认证策略。
第三步:客户端访问WEB服务器
客户端根据第二步返回的重定向条目与WEB服务器建立连接。
第四步:WEB服务器向客户端返回认证页面
WEB服务器向无线终端返回认证登录页面,针对该认证登录页面,需满足以下规范:
[1]认证页面必须有一个Form的action= http:// LAN_IP: Port/wifidog/logincheck/,其中LAN_IP为当前企业路由器LAN口的IP地址,Port为Portal服务端口,默认为8080;
[2]认证登录页面以Get方式提交Form表单;
[3]认证登录页面必须包含以下参数:
参数 |
说明 |
user |
用户名 |
pwd |
密码 |
ip |
认证终端的IP地址 |
mac |
认证终端的MAC地址 |
authtype |
固定为;web”,表示web认证 |
gw_address |
与重定向参数保持一致 |
gw_port |
与重定向参数保持一致 |
gw_id |
与重定向参数保持一致 |
url |
与重定向参数保持一致 |