某局点客户使用portal型微信认证第一次认证失败
一、问题现象
某客户局点使用IMC服务器部署终端微信认证后发现,第一次打开微信客户端点击立即连接网络时,提示“网络连接失败”,点击重新连接后问题解决,如下图所示。
二、原因分析
(1)通过查看IMC的前台日志,可以看到类似于“portal认证失败,状态码为7,设备拒绝请求”。
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::offlineByIp]
根据framedIp调用下线接口结束
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::queryGuestUserIfExist]
根据openid查询访客,如果不存在则增加
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::queryUserPassword]
查询用户密码开始
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::queryUserPassword]
查询用户密码成功,密码为1
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::getGuestServiceSuffix]
查询访客服务后缀开始
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::getGuestServiceSuffix]
查询访客服务后缀成功。访客服务无后缀
2017-03-3013:57:13[INFO][http-nio-80-exec-14][com.imc.weixin.controller.PortalAuthController::authentificate]
portal认证失败。状态码为:7,设备拒绝请求
2017-03-30 13:57:13 [INFO ] [http-nio-80-exec-14] [com.imc.weixin.rs.func.RestApiMgrImpl::queryGuestUser]
查询访客信息开始
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::offlineByIp]
根据mac调用下线接口开始
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::offlineByIp]
根据framedIp调用下线接口失败,响应状态码为410
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::queryGuestUserIfExist]
根据openid查询访客,如果不存在则增加
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::queryUserPassword]
查询用户密码开始
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::queryUserPassword]
查询用户密码成功,密码为1
2017-03-30 13:57:17 [INFO ] [http-nio-80-exec-17] [com.imc.weixin.rs.func.RestApiMgrImpl::getGuestServiceSuffix]
查询访客服务后缀开始
(2)在portal型微信认证中,打开portal重定向页面中点击微信连WIFI按钮,会唤起微信客户端的同时,使用配置公众号时提供的临时账号进行portal单点登录上线实现全网放通,在微信客户端发起微信认证流程时,访客的账户会将临时账户踢下线,但是部分设备对于这种快速下线又上线的请求,无法进行及时的处理,导致这一问题。
三、解决办法:
在IMC安装路径下的D:\Program Files\iMC\client\conf的weixinConWifi.properties文件,使用文档编辑器,打开文件后将logout.enable=1项修改为0,1表示IMC会主动踢临时用户下线,修改为0后IMC不主动踢临时用户下线。
同时打开IMC安装目录下的IMC/portal/conf/portal.properties文件,将logout.wait.time=1000修改为3000,1000表示等待时间为1s,将等待时间延长可以减小设备的压力。需要注意的是直接安装的E0406版本中包含该参数,从旧版本升级的版本配置文件中没有这一参数,可以直接在文件末尾添加后保存。
修改两个文件后,重启jserver进程。修改生效。
四、建议与总结
(1)不是直接安装的7.2E0406的版本,portal.properties文件中不包含logout.wait.time=1000这一项,需要手工填写并修改;
(2)修改之后需要重启jserver进程使修改生效;
(3)该问题不是必现,取决于设备处理机制。
2017年11月
本期文章
-
卷首语
-
公司动态
-
行业聚焦
-
产品推荐
-
案例介绍
-
经验共享
-
培训天地