行业动态与技术知识
WiFi计费系统对接Portal认证的三个典型坑
WiFi 计费系统要让学生或者员工上网,前端几乎都走 Portal 认证:连上 WiFi,浏览器弹出登录页,输入账号密码或者短信验证码就上线。这套流程看着顺,但 WiFi 计费系统和 Portal 认证之间的衔接,是项目里出问题最多的地方。很多"上不了网"的投诉,根子不在计费算错,而在登录态同步、失败回退、超时处理这些衔接细节没想透。
第一个典型坑是登录态不同步。Portal 认证通过之后,认证网关要告诉计费系统"这个账号已经上线了,开始计时/计量",同时要把放行规则下发到网络设备上。这三步里任何一步慢了或者丢了,结果就是认证页显示成功,但实际还没通网,用户刷新半天没反应,以为密码错了反复试。所以计费系统和 Portal 之间不能只靠"认证成功"这一个信号,要有上线确认和状态轮询,确认放行规则真的生效了再给用户放行提示,否则用户感知和真实状态对不上。
第二个坑是代拨或后端连不上时的回退。有些场景计费系统在后端还要和运营商或者宽带账号握手,握手失败了怎么办?直接拒绝上线,用户会以为自己欠费;给个友好提示让用户先用基础网络,又怕被蹭。这里的判断是:认证和计费的失败要分级,网络层握手失败不能一刀切断认证,否则一片人上不了网全是投诉。成熟的做法是认证先放、计费标记待同步,等后端恢复再补计,或者明确提示"网络忙请稍后",而不是静默失败。
超时和闲时断线的处理
第三个坑是超时策略。Portal 一般有时长限制,比如免费用户两小时断一次重新认证。这个策略如果做得生硬,用户看个长视频突然被踢,体验极差。好的做法是临近超时给个温和提醒,或者基于"是否有活跃流量"判断,长时间无流量才回收,有流量就续。计费系统要能和认证网关共享这个活跃度信号,而不是各算各的。见过不少项目,认证网关按固定时长踢人,计费系统按流量算钱,两边节奏不一致,用户被踢了还在计费,这种矛盾最招投诉。
多终端和漫游的衔接
第四个坑在多终端和漫游。一个账号几台设备同时在线,Portal 和计费怎么记?按设备数还是按账号?漫游时 AP 切换,认证状态要不要重新弹?这些在规划阶段就得定,否则实现时各模块理解不一致。尤其园区场景,手机从 A 栋走到 B 栋,如果每次都重新弹 Portal,用户会疯。计费系统和认证网关要共享一套会话,漫游不重认证,但用量持续累计,这才是顺的体验。
还有个容易被忽略的是 Portal 页面本身。弹出来的登录页加载慢、在手机上排版乱、验证码难识别,用户连"输密码"这步都卡住,自然觉得网差。Portal 是用户对这套系统的第一印象,它的可用性直接影响对计费系统的评价,但这块常常被当成前端小事敷衍。实际上 Portal 的响应速度和兼容性是衔接质量的直接体现,值得单独测一遍各种机型。
WiFi 计费系统对接 Portal 认证的三个典型坑,归纳起来就是:登录态要确认不要轻信信号、失败要分级不要一刀切、超时和漫游要对齐节奏。这些都不是计费规则本身的问题,是计费和认证两个系统之间的握手质量。项目上花点时间把这套衔接画清楚、测扎实,比上线后天天救火省心得多。系统好不好用,往往卡在这些接缝处。
最后提一句测试。Portal 和计费的衔接质量,必须真机真场景测,别只在实验室 ping 通就上线。找几台不同品牌手机、不同系统版本,走一遍连网、断网、超时、漫游、多设备,把每一步的用户感知记下来,哪些步骤超过三秒、哪些报错不友好,列成清单改。见过太多项目实验室完美、现场翻车,根子就是没做真实终端的全流程测试。
Portal 是用户每天摸的东西,它的顺滑度直接定义了对整套 WiFi 计费系统的印象,值得在测试上多花两天。还有认证网关和计费系统之间的心跳检测,要能模拟对端挂掉,看本端是不是真的降级而不是卡死,这种故障注入测试很多团队懒得做,真出事才发现没兜底。测试这块多投入的时间,上线后都会以少救火的形式还回来。
关于 Portal 的兼容性还有个细节。现在手机系统对 captive portal 的处理各不相同,iOS、安卓不同版本弹窗逻辑不一样,有的自动弹、有的要手动点。计费系统要能适配这些差异,别在某些机型上卡在已连接但无互联网的状态。这问题实验室难复现,得靠真实终端池长期积累兼容列表。Portal 兼容性是衔接质量的最后一公里,也是最容易被人忽略的那一公里。
回到工程视角,Portal 和计费之间最好有一份明确的接口契约,哪些字段、什么时序、失败怎么回执,写进文档而不是靠两边工程师口头对齐。契约清楚了,后续换厂商、升级版本都有据可依,不至于一处改了另一处莫名其妙挂。很多项目接口靠默契,默契的人一走,对接就成了黑盒。把衔接的契约固化下来,是 Portal 和计费长期稳定运行的基础。