壮心未与年俱老,死去犹能作鬼雄。这篇文章主要讲述关于微信内置浏览器安卓端session丢失问题相关的知识,希望能为你提供帮助。
项目上线测试,发现微信安卓端存在用户登录无法验证session情况, 导致每次接口请求都无法识别,而苹果客户端不会出现此问题,非微信环境打开不会出现此问题,找到一些解决方案做下记录:
方案1:
【关于微信内置浏览器安卓端session丢失问题】由于微信内嵌浏览器对所有请求都做了代理,导致出去的ip不固定,从而导致腾讯云服务器的黏性session(基于客户端ip做的黏性session)失效。所以,解决方案有两个,要么服务器端只用一台tomcat,要么tomcat做session共享,比如
session放在Redis中。这样server1产生的sessionid,即使到了server2,也能从redis中找到。
具体参考:http://blog.csdn.net/wangjun5159/article/details/51966137
方案2:
取open_id,取到之后去数据库查,如果有直接登录,没有授权登录 完了把open_id 保存到数据库
方案3:
在控制层保持值session后,跳转到页面,在页面进行操作后请求另一个控制层去取session中的值。
推荐阅读
- Android Studio 运行java程序
- Gradle Build速度加快终极方法(android studio)
- Android组件系列-----Activity保存状态
- Android 6.0+ 运行时权限
- Android源代码之DeskClockProxy/Delegate Application 框架应用
- 我的Android进阶之旅------>android中getLocationInWindow 和 getLocationOnScreen的差别
- 切换winXP系统游戏情况下多用户掉线问题
- 为啥wifi的ID中文名显示乱码?
- winXP设置系统无线热点创建有啥要求