以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题...
以前都是開始一段廢話的,現在直接進入主題,首先介紹一下一些概念:
單頁應用:
優點:多角色:項目設計中多角色參與,比如我現在做的系統,除了有個人用戶,還有開店的商戶進行登錄2種角色
session:這個不多說,后臺系統判斷用戶活躍存在的一種身份憑證。PS:現在很多大型公司都自己做session管理
?
問題再現:
這樣得到的結果肯定是錯的。所以必須解決該問題
?
測試淘寶:
- 登錄第一個賬戶
- 新開標簽頁輸入相同網址
- 網頁會自動跳轉到和標簽也一樣的頁面
- 退出登錄新的賬號,第一個標簽頁還是在第一個人的個人中心那里
- 登錄第二個賬戶,這個時候第一個標簽頁是第一個賬戶的個人信息,第二個標簽頁是第二個賬戶的個人信息
- 這個時候,瀏覽器針對這個域名,其實存儲的已經是第二個賬戶的所有信息了,包括session_id。所以點擊第一個標簽頁的任何操作,如果不刷新頁面的話(也就是單頁應用),會以第二個用戶的session_id去請求數據。但是淘寶是刷新整個頁面就不存在這個問題了。
- 這樣整頁刷新就是第二個賬戶的所有的信息了。如果系統多角色,而且多角色菜單啊,和業務功能不一樣的話,就會更明顯發現大問題,搶占session,無法正確請求數據
?
?
解決方案:
確立解決手段:經過測試淘寶網站發現,淘寶針對這種問題,每次操作都會刷新頁面,因為刷新頁面所有數據都將重新向后臺請求,所以不會存在該問題:不刷新頁面然后通過ajax一步請求數據。所以解決手段就是只要刷新頁面全部重新請求數據就不會出現這個問題。
關鍵問題:怎么去讓瀏覽 器每次去鑒別是否為一個用戶,然后讓瀏覽器主動去刷新頁面
解決步驟:
?
其實解決問題的方式有千萬種,沒有你解決不了的,只有你想不到的。程序員的路還很漫長,如果目標更大一點,架構師啊或者其他的話,這樣的路更長。而且在職場的話,老板不是要的你的各種阻塞的理由,而是一個結果,你解決了沒有?解決了,ok能力杠杠的,解決不了,對不起,能力還欠缺。所以,我的原則是:能做的,漂亮的解決;不能做的,評估一下,想方設法去解決,這樣才能讓老板或者你的上司相信你,安心把事情給你做,這樣的話,老板器重你了,升職加薪也不是問題咯。
?
分享我的全棧書簽(持續集成中):https://github.com/GerryIsWarrior/MyBookmarks ? 希望點顆星,這才是我的動力
?
個人簡介:
- 性別:男
- 愛好:女
- 目標:全棧架構師
- github:https://github.com/GerryIsWarrior
轉載于:https://www.cnblogs.com/GerryOfZhong/p/6094612.html
總結
以上是生活随笔為你收集整理的以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文本比较算法Ⅱ——Needleman/W
- 下一篇: 20145203 《信息安全系统设计基础