RCA-session失效

原创
2017/03/06 18:37
阅读数 29

1.背景知识

session,静态请求,缓存

2.问题现象

这两天发现有个页面微信授权老是有问题,问题在android手机比较严重,苹果手机上基本上没有发现。我的授权方式是,拿到微信的union_id,通过该参数获取对应的用户,进行登录,前一阵我把该方式调整为web拦截器了,通过拦截特定的参数,进行判断是否需要自动登录,不过该问题好像一直授权不成功。

3.影响范围

部分手机wap访问受影响。

4.问题原因

静态页面走了缓存没走网络请求

 

5.问题分析过程

5.1今天下午开完会,有时间踏踏实实查问题,本来最好的办法是看日志+本地环境调试,不过没有复现。

5.2.最后用Charles抓包,准备对比cookie中的jsession值。看看是不是jsession值被修改了。

5.3.发现进行授权的页面xxxx.html?union_id=xxxxxxxxxxxx#home,没有抓到网络包,问了相关负责人说跳转没有问题,而且页面效果也跳转到当前页了xxxx.html。

5.4.本来怀疑抓包软件出问题了,不过用苹果测该链接,发现没有问题,反应过来可能该页面使用了缓存,没走网络请求。

5.5 原来前一阵,前端调整,把jsp渲染的页面都改成html,然后用ajax获取数据做js渲染。致使浏览器默认使用了缓存方式。没有进行网络请求,也就没有后续拦截器的自动登录处理。

6.解决办法

跳转请求加时间戳,简单解决,让浏览器缓存失效。

7.后续处理措施

8.经验教训

全栈工程师虽然专业度不精,各个都会,不过排查问题比较有优势。

还有前端架构调整,修改为前端渲染,最近把很多前端的问题引入了后端逻辑,排查时候需要注意。

9.RCA类型

前端架构调整,引起的问题。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部