1.采用前后端分離的開發(fā)模式. 前后臺并行開發(fā). 后臺提供接口,angular去調(diào)用。2.網(wǎng)站有訪問權(quán)限, 必須要登錄才能訪問某些頁面。3.網(wǎng)站頭部,根據(jù)登錄是否來呈現(xiàn)不同的信息. 比如登錄后:歡迎 (xx用戶名).4.后臺每個接口都判斷了用戶是否登錄. 5.我的做法: 用戶登錄后. 我會在sessionStorage里面存一個key. 然后在路由文件里$stateChangeSuccess判斷是否有這個key,沒有的話就$state.go('login')去登錄?,F(xiàn)在的問題是.sessionStorage不能瀏覽器多個標(biāo)簽共存.就是用戶其實(shí)已經(jīng)登錄了,然后用新標(biāo)簽打開頁面.這時(shí)候$stateChangeSuccess判斷沒有這個key就跳到登錄login頁面去了.sessionStorage不能多標(biāo)簽共存. localStorage又必須要手動清除...大家通常是怎么做的啊?
2 回答

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個贊
cookie不能標(biāo)識是否登錄,后端session與前端cookie匹配認(rèn)為是一個會話,沒登錄也有session退出登錄也有session,而且session有超時(shí),所以無法用session/cookie去判斷。你這個只是調(diào)數(shù)據(jù)時(shí)判斷是否登錄就可以了,寫個全局xhr事件/全決ajax攔截器,如果后端返回未登錄,你就跳轉(zhuǎn)到登錄頁面。至于顯示用戶信息,那后端提供給接口就可以了。

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個贊
添加回答
舉報(bào)
0/150
提交
取消