這裡我們需要用到:vue 前端mvvm框架、vuex 狀態管理機、vue-router 路由、axios http請求庫。
1、登陸事件login
//1.觸發登陸事件
dispatch('
login')
//actions
commit(types.login_success, res.data.data)
2、獲取token,經base64編碼後存至sessionstorage
//mutations
const mutations =)
},[types.logout_success] (state) )
}}
3、所有http header authorization 加上編碼後的token(前後端可約定規則)
//axios 請求鉤子(request)
axios.interceptors.request.use(req =>`
}req.data =qs.stringify(req.data)
return
req
}, error =>)
4、請求攔截:後台拿到token後對每個請求進行校驗,若校驗失敗返回401,前端response鉤子裡統一catch error 跳轉至登陸頁面
//axios 請求鉤子(response)
axios.interceptors.response.use(res =>, error =>)}}
return
promise.reject(error)
})
5、路由跳轉攔截:任意路由跳轉時,在路由beforeeach鉤子裡校驗本地是否存在token,若沒有,則跳轉至登陸頁面
//路由鉤子(每個路由跳轉前調起beforeeach鉤子)
router.beforeeach((to, from, next) =>
let user = sessionstorage.getitem('
usertoken')
if (!user && to.path !== '
/login
') )
} else
})
6、登出logout:清楚本地sessionstorage的token資訊
//mutations
const mutations =)
}}
管理系統的前端許可權控制
問題 專案使用的是shiro框架處理使用者登入許可權,那麼前端要如何配合後端完成系統的許可權控制?前端許可權比較常見的就是rbac基於角色的訪問控制,基本思想是系統的操作許可權不是直接授予具體的使用者,而是在使用者與許可權之間,建立角色集合,每個角色對應一組相應的許可權,一旦使用者被賦予某種角色,那...
Vue專案的前端許可權控制
本文主要介紹在vue專案中如何進行前端許可權控制。路由許可權 路由許可權就是使用者只能訪問到自己有許可權訪問到的頁面,對於無許可權的頁面可以跳轉到404頁面或者無許可權提示。下面通過兩種方式來實現對路由的許可權控制。1.動態生成路由表 第一種方式是動態生成路由表,前端原始的路由表中只儲存一些基礎的路...
後台管理系統的許可權控制 前端許可權管理
1.1 什麼是許可權管理 許可權管理是乙個幾乎所有後台系統的都會涉及的乙個重要組成部分,主要目的是對整個後台管理系統進行許可權的控制,而針對的物件是員工,避免因許可權控制缺失或操作不當引發的風險問題,如操作錯誤,資料洩露等問題。1.2 許可權分類 後端許可權管理 許可權管理的核心在於服務其中的資料變...