首页>技术文档>酒店上网认证系统

酒店上网认证系统完整方案 · 微信/短信/账号/上网码四合一 Portal 认证

本文档为酒店上网认证系统(WiFi Portal 认证 / Captive Portal)完整方案说明,手把手讲解住客连上客房 WiFi 后如何被重定向到认证页、以微信扫码 / 短信验证 / 账号密码 / 一次性上网码完成认证并放行;同时说明标准 Portal 协议 V2 与 iptables 网关两种部署模式,以及如何满足酒店 WiFi 实名上网与公安日志审计合规要求,帮助酒店 IT 与工程实施人员快速落地。

一、什么是酒店上网认证系统

酒店上网认证系统(也称 WiFi Portal 认证系统、Captive Portal)是部署在酒店无线网络出口的一道"身份准入关卡"。住客的手机、笔记本或平板连上客房 WiFi 后,系统通过 AC/AP 或网关把未认证终端重定向到一个 Portal 认证页面,住客完成认证后,系统才为其开放互联网访问权限。

它的工作逻辑分三步,本质是一个"身份与访问管理平台":

① 身份认证(你是谁):确认上网者身份,常见方式有手机号验证码、微信、账号密码等;
② 权限下发(你能做什么):认证通过后按身份/房型/区域下发带宽、VLAN、会话时长等;
③ 日志审计(你做了什么):记录认证日志(时间、方式、身份、终端 MAC/IP、接入位置)与上网日志,按合规要求留存备查。

与企业网络的准入认证不同,酒店面对的是流动性极强的住客群体,认证方式必须简单快捷、不要求安装客户端。它通常以"旁路部署"方式工作,通过 Portal、RADIUS 等标准协议与现网 AC、AP、交换机配合,无需替换酒店现有无线网络设备,对现网影响很小。

二、四种认证方式(核心能力)

酒店上网认证系统支持多种认证方式以适应不同客群与运营需求,最常用的有四种,外加 MAC 白名单免登录:

认证方式适用场景体验实名 / 合规
账号密码酒店会员、长住客、员工;后台可增删用户中等(需记账号)账号可绑定身份,口令 scrypt+随机盐+timing-safe 比较
短信验证码散客主流;手机即身份,可追溯好(输手机号拿码)满足实名溯源(公安部 82 号令),真实通道不回传前端
微信扫码涨粉 / 无感体验;客房屏出码、手机扫码最好(只取 openid)可绑定手机号补全实名;只需服务号,无需小程序
一次性上网码前台发卡、会议、付费套餐好(凭码即上)码去掉易混淆字符、一次性使用、时长取码上配额
MAC 白名单内部设备、常客无感免登录直连命中则跳过登录直接放行;放行 IP 仍走住客 IP 采信规则,外网不可伪造

住客账号不能进管理后台;前台踢人走后台操作,住客自行下线只能下自己的 IP。微信认证只取 openid,不收集通讯录、不读取聊天记录,符合最小必要原则。

三、工作原理与系统架构

酒店上网认证系统有两种部署模式,覆盖"有 AC/BRAS"与"只有光猫/AP"两类现场:

3.1 标准 Portal 协议 V2(对接 AC/BRAS)

住客未认证流量经 AC 重定向到登录页,认证通过后本服务用 CHAP 向 AC 发放行指令(也支持 PAP)。AC 不必维护用户库,只需与本服务约定共享密钥 portal.secret。发给 AC 的 CHAP 口令是 MD5(challenge + 共享密钥),不是用户密码,因此密码不会出现在 UDP 报文里。

3.2 iptables 网关模式(无 AC 也能用)

当现场是联通/华为定制光猫这类没有外置 Portal 协议口的设备时,让认证服务器当客房网关:用 iptables 拦截未认证流量、放行已认证 IP 并 NAT 出网。无需 AC 即可落地 Portal 认证。

架构示意:
住客终端 ──未认证流量──► 网关 / AC ──HTTP 重定向──► Portal 登录页(:8080)
账号 / 短信 / 微信 / 上网码 ──► session.authorize ──► UDP Portal V2(CHAP)或 iptables 放行该 IP ──► SQLite 会话 + 心跳
微信扫码是"客房屏出二维码、手机微信完成授权",放行的是登录页那台设备的 wlanuserip,不是手机 IP;随机 state 绑在库里,避免回调弄错放行对象。

四、为什么酒店必须做实名认证(合规底线)

根据《网络安全法》与公安部 82 号令,酒店、商场、机场等公共场所提供互联网接入服务,必须对用户身份进行登记并存留上网日志,以备监管溯源。一旦在酒店 WiFi 上发生网络违法(发布违法信息、诈骗、攻击等),可追溯至具体设备与使用人。

认证即留痕:以手机号或微信身份作为实名凭证,每一次认证与上网都留下记录(认证时间、方式、身份信息、终端 MAC/IP、接入 AP 位置)。实名是护身符,不是负担——放开匿名上网,一旦出事酒店先担责。系统的日志导出应做成标准格式,配合监管检查时不临时拼表。

五、微信认证怎么配置(只需服务号,不要小程序)

酒店微信认证体验最好,但很多人误以为要做小程序。实际上:

需要:一个已认证的微信服务号;
不需要:小程序、开放平台、微信连 WiFi 插件、JS-SDK、消息推送(Token / EncodingAESKey)。

流程:客房设备被 AC 重定向到登录页 → 前端带 HMAC 票据请求授权 URL(含随机 state)→ 客房屏展示二维码 → 住客用已能上网的手机(建议 4G/5G,不要用未认证的客房 WiFi)微信扫码 → 微信带着 code+state 跳到 redirectUri,本机用 code 换 openid、用 state 找回客房 IP → UDP 通知 AC/网关放行 → 客房页轮询到成功后跳转。

必做三项:① 网页授权域名(只填备案域名,如 portal.example.com,下载校验文件放到 public/);② redirectUri 必须落在该域名下;③ API IP 白名单(Portal 访问微信的出口公网 IP,否则换 code 会报 40164)。AppSecret 只写在服务器 config.json,不要提交 Git、不要发聊天。

六、管理后台功能

管理后台地址 /admin,HttpOnly Cookie(12 小时),仅 role=admin 可登录,住客账号不能进。主要功能:

模块说明
系统设置酒店名 / Logo / 欢迎语 / 页脚、登录页开哪几种认证、认证成功后跳转、默认上网时长(分钟)
网卡管理客房口 / 网关 / DHCP 池 / 转发(写 netplan,无需手敲命令)
在线会话查看在线终端、前台踢人(POST 下线指定 IP)
账号 / 上网码增删住客账号;按"时长×数量"生成一次性上网码(去易混淆字符)
短信通道mock / 腾讯 / 阿里 / 华为 / webhook,频控(同号 60s、同 IP 每小时 10 次)
微信 / 白名单微信 AppId / 回调;MAC 白名单免登录
日志 / 改密系统日志审计;管理员改密(上线后务必改掉默认口令)

七、上线部署清单

无论对接 AC 还是走网关模式,上线前请逐项核对:

项目要点
更换密钥与口令更换 portal.secret 与默认管理员密码;密钥勿提交公开仓库
放行模式对接真实 AC:mockAc.enabled=false;无 AC 现场:enforce=iptables
认证协议authType 保持 CHAP(PAP 会明文放密钥到 UDP)
短信通道选真实 provider 并填凭证;确认频控符合业务
微信mock=false,备案 HTTPS 域名 + 网页授权 + IP 白名单 + redirectUri
校验文件public/MP_verify_*.txt 外网可访问后再保存域名
链路验证用已联网手机验证完整扫码放行链路
传输安全生产 HTTP 前建议加反向代理与 TLS(本进程为明文 HTTP)

八、常见问题(FAQ)

问题可能原因 / 处理建议
酒店上网认证系统是什么?部署在酒店无线出口的身份准入关卡(WiFi Portal / Captive Portal),住客连 WiFi 后被重定向到认证页,认证通过才放行,同时做身份认证、权限下发与日志审计。
酒店 WiFi 支持哪几种认证方式?账号密码、短信验证码、微信扫码、一次性上网码四种,外加 MAC 白名单免登录直连;可按客群混搭(散客走短信、会员走账号)。
酒店微信认证需要小程序吗?不需要。只要一个已认证的微信服务号做网页授权(snsapi_base)即可扫码上网,无需小程序、开放平台或微信连 WiFi 插件。
没有 AC/BRAS 设备能做 Portal 认证吗?可以。用 iptables 网关模式,本机当客房网关拦截放行,适合联通/华为定制光猫等无外置 Portal 口的场景。
酒店实名上网有哪些合规要求?依《网络安全法》与公安部 82 号令,须登记身份并留存上网日志;短信/微信实名链路需闭环,认证即留痕,出事可溯源。
认证成功仍提示"受限无线局域网"?多为 NAT 放行规则未命中该 IP;检查 iptables 对该源地址是否为 ACCEPT(不能用子链 RETURN,否则 iPhone 会循环弹窗)。

— 文档结束 —

获取酒店上网认证系统体验镜像 / 商用授权: 前往下载中心获取体验镜像 ,或 联系惠步科技 获取部署与定制支持。

相关主题

酒店上网认证系统 酒店WiFi认证 酒店Portal认证 酒店微信认证上网 酒店短信认证上网 酒店上网码 酒店captive portal 酒店实名上网 公安日志审计 Portal协议V2 酒店WiFi认证解决方案 酒店无线网络认证