項目上線測試,發現微信安卓端存在用戶登錄無法驗證session情況, 導致每次接口請求都無法識別,而蘋果客戶端不會出現此問題,非微信環境打開不會出現此問題,找到一些解決方案做下記錄:
方案1:
由於微信內嵌瀏覽器對所有請求都做了代理,導致出去的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中的值。
