最近遇到一个问题,因为后台是根据session识别用户的。因此我得在登录成功之后,保存cookies。然后再下次启动app的时候设置cookies为上次保存的。这样用户就可以免登陆。虽然session只有10个小时。但是产品经理就说是这个逻辑…好吧…
然后呢,我就遇到一个问题。明明在启动的时候,已经设置全局的cookies。然后通过检测用户登录状态也是登陆了。但是到个人中心页面各种请求服务器都返回未登录。
和后台协商,检查,后台说没改啥啊,没出错啊。当时我就头疼。
好吧,那咱们抓包分析吧。看看这狗日的session在哪里被改动了。
就是这个app,然后xcode编译运行。对比了数据之后。发现,,,居然是这个原因导致的。。。
就是在app启动的时候,我在入口类请求了服务器另外一个接口。一个获取错误码的URL。虽然之后设置了全局cookies。但是仅仅对那一次请求有效。在后面的请求中,AFNetworking依然默认加载的第一次请求的cookies。所以,导致后面出现未登录的场景。
因此,我修改了代码,app启动之后,先加载cookies之后,就没这个问题了。
在这做个记录,防止下次再出现。