有些局点在没有认证服务器的情况下可以结合AC的Portal本地认证,实现简易化的微信公众号认证,达到用户只要在关注公众号之后才可以认证上网的需求。
这种简化版的微信公众号认证,实现原理是利用AC的本地Portal功能,认证的本地Portal文件内置了一个用户名和密码能够实现自动认证。认证过程和微信没有任何关系,只是将关键的认证页面放在了公众号的聊天界面里,要想获得此认证页面必须关注公众号才能进入公众号的聊天界面,最后利用微信发起http的请求实现本地Portal认证。
步骤一:先配置AC的本地Portal认证
配置Domain域为本地认证
domain system
authentication portal local
authorization portal local
accounting portal local
authorization-attribute idle-cut 120 10000
#
配置web-server
portal web-server local-server
url http://192.168.1.100/portal/guanzhu.htm
captive-bypass ios optimize enable
#
配置本地认证并绑定Portal文件
portal local-web-server http
default-logon-page weixin.zip
#
配置服务模板
wlan service-template portal
ssid loca-portal
vlan 10
portal enable method direct
portal domain system
portal apply web-server local-server
service-template enable
#
以下为微信认证的标准配置,包括优化Porta弹窗、放通微信域名等
portal host-check enable
portal free-rule 1 destination ip 114.114.114.114 255.255.255.255
portal free-rule 2 destination ip any udp 53
portal free-rule 3 destination ip any tcp 53
portal free-rule 4 destination ip any tcp 5223
portal free-rule 10 destination short.weixin.qq.com
portal free-rule 11 destination mp.weixin.qq.com
portal free-rule 12 destination long.weixin.qq.com
portal free-rule 13 destination dns.weixin.qq.com
portal free-rule 14 destination minorshort.weixin.qq.com
portal free-rule 15 destination extshort.weixin.qq.com
portal free-rule 16 destination szshort.weixin.qq.com
portal free-rule 17 destination szlong.weixin.qq.com
portal free-rule 18 destination szextshort.weixin.qq.com
portal free-rule 19 destination isdspeed.qq.com
portal free-rule 20 destination wx.qlogo.cn
portal free-rule 21 destination wifi.weixin.qq.com
portal free-rule 23 destination open.weixin.qq.com
portal free-rule 24 destination long.open.weixin.qq.com
#
配置本地认证的用户名密码为Guest,关键固定配置
local-user Guest class network
password simple Guest
service-type portal
#
将本地Portal文件上传到AC的根目录
<H3C>dir
27 -rw- 1930 Nov 19 2017 06:25:27 weixin.zip
步骤二:编辑公众号页面
如果是没有经过审核的个人订阅号,则编辑“自动回复”"被关注回复"中的所有功能都开启,将自动回复的内容配置为<a href="http://192.168.1.100/portal/logon.htm">请点击上网</a>
当第一次关注微信或者或者发送关键字比如“上网”则微信会自动回复一个超链接“点我上网”
如果是经过认证的服务号或者订阅号,则可以配置菜单功能,菜单名称为“点我上网”,将菜单的跳转网页内容配置为 http://192.168.1.100/portal/logon.htm
当用户关注微信并进入微信号时,点击“点我上网”菜单即可完成本地Portal认证。
步骤三:测试
连上WIFI后自动弹出Portal页面提示关注“xxx”公众号
打开微信通过搜索公众号并关注
点击超链接即可认证成功
在设备上查看display portal user all可以看到在线用户
[H3C]display portal user all
Total portal users: 1
Username: Guest
AP name: ap1
Radio ID: 1
SSID: lvzhou-portal
Portal server: N/A
State: Online
VPN instance: N/A
MAC IP VLAN Interface
f48e-92e0-4dcf 192.168.1.16 10 WLAN-BSS1/0/19
Authorization information:
DHCP IP pool: N/A
User profile: N/A
Session group profile: N/A
ACL number: N/A
Inbound CAR: N/A
Outbound CAR: N/A
1、压缩包必须是.zip格式,附件.zip文件是自动登陆界面的一个简单例子,实际上需要根据用户的具体情况做一些定制
2、将压缩包上传到AC的跟目录
3、放通weixin地址及DNS地址
4、定制页面用户名密码为Guest,需要在本地创建一个Guest/Guest账户,注意区分大小写
5、微信平台设置自动回复关键字,使用如下格式
<a href="http://192.168.1.100/portal/logon.htm">请点击上网</a>
如果在公众号编辑的是菜单,则直接按格式填写如下格式
http://192.168.1.100/portal/logon.htm
6、本地Portal的页面文件可以根据自己的喜好进行编辑,添加图片、更改文件内容,就用简单的Html语言即可编辑。Portal文件weixin.zip在附件中可下载。