vue - 登入驗證與許可權控制
阿新 • • 發佈:2022-03-05
描述具體問題
需求
- 業務系統通常需要登入才能訪問受限資源,在使用者未登入情況下訪問受限資源需要重定向到登入頁面;
- 多個業務系統之間要實現單點登入,即在一個系統或應用已登入的情況下,再訪問另一個系統時不需要重複登入;
- 在登入過期或失效時,需要重定向到登入頁面;
- 使用者登入後,需對改使用者擁有的許可權進行功能和UI適配,如頁面、按鈕、連結、展示資訊的控制;
路由導航守衛
vue-router提供對應全域性前置和後置回撥函式,可以加入業務邏輯控制路由跳轉或或取消導航。
請求攔截
前端框架使用 axios 類庫作http請求,支援全域性對請求傳送前(request)與 響應後(response)進行注入攔截邏輯。可對傳送資料與響應資料進行適配。
1 import axios from '../utils/axios' 2 3 /** 4 * 在請求傳送資料之前,對傳送資料進行轉換 5 */ 6 axios.interceptors.request.use(function (config) { 7 // 在這裡實現對請求前的處理 8 return config 9 }) 10 11 /** 12 * 在ajax接收響應資料之前,進行判斷是否響應未登入、如果未登入重定向到登入頁面 13 */ 14 axios.interceptors.response.use(function (res) { 15 // 在這裡實現響應後的處理 16 return res 17 })