專案實戰回顧之登入攔截篇

2021-09-24 06:41:41 字數 1250 閱讀 7779

登入模組基本是每個系統都具備的,而且最近剛趕完專案,故將專案中登入模組流程和所遇到的問題進行梳理解決。

專案為單頁應用預設 hash 模式,採用vue+vue-router+vuex+axios進行功能開發

採用vue-router,axios進行前端登入許可權攔截。主要在路由和發起http請求時進行攔截判斷

定義路由時,在路由配置中使用meta欄位,新增requireauth欄位用於判斷路由是否需要登入判斷

const router = new vuerouter(}]

}]})

複製**

在vue-router使用router.beforeeach 註冊乙個全域性前置守衛,在導航守衛中檢查元資訊字段

const router = new vuerouter(routerconfig);

// 註冊全域性鉤子用來攔截導航

router.beforeeach((to, from, next) =>

} else })}

} else

});複製**

專案中在axios庫進行封裝,以便能統一處理請求和響應

//因為專案中採用cookie,瀏覽器每次請求會自動帶上,因此不需要額外設定

//const token = cookies.get('token');

'authorization'] = token;

axios.interceptors.request.use(config => , error => );

axios.interceptors.response.use(res => , error => ,

})case

403:

return error.response

} }return

promise.resolve(error.res)

});複製**

tips:使用者登入過期時,當頁面進行重新整理,假如當前頁有多個請求介面,那麼***會多次跳轉到登入頁,會影響登入之後的路由跳轉。所以需要在跳轉登入時進行判斷。

登入頁面只需收集使用者賬號密碼,請求介面登入將使用者資訊儲存到vuex和localstorage,並設定好登入狀態就可以。

this.tologin(loginbody).then((res) => );

});} else

});複製**

Cookie登入專案實戰

對特定物件的追蹤 儲存使用者網頁瀏覽記錄 簡化登入 安全風險 容易洩露使用者資訊 cookie newcookie new cookie string key,object value response.addcookie new cookie cookie cookies request.getc...

專案實戰 登入速度優化筆記

問題描述 即時通訊專案的客戶端內網的環境下連線服務端,很快3 5秒內就登入成功,但是外網登入,卻需要花費10 15s時間才能登入成功。雖然外網慢眾所周知,但目前慢的比較多,給使用者的體驗感很不好。分析問題 我寫了乙份較為詳細的登入過程速度慢的分析報告,主要是給領導看的。簡單擷取一部分內容 登入過程 ...

WPF專案之登入

登入是每個專案必不可少的一部分,但是思路都是一樣的。先獲取文字框的值,在去查詢資料庫的資料,將資料庫查詢出來的資料與獲取到的文字框的值相比,如果正確就進入主頁面,如果錯誤就提示使用者輸入的值錯誤,wpf專案也如此。先搭建好登入頁面的樣式,在登入按鈕 雙擊,進入頁面的互動邏輯 先用try cath捕捉...