為什么要做這個多角色登陸限制呢?因為最近做的后臺系統登陸中涉及到多個用戶登陸,想在前端做個路由的限制,防止權限低的用戶在登陸的情況下(服務器已經驗證登陸)用戶手打uri登錄到權限高的頁面。
本此主要用到vue-router對vue的路由限制, 使用vue-router的導航鉤子
const router = new VueRouter({});
router.beforeEach((to, from, next)=>{
//...
});
思路路由上帶有登陸角色的標識
如:
- localhost:8080/admin/home
- localhost:8080/user/home
思路:
- 根據to.path和from.path的比較(取出登陸角色標識進行比較)如果前后一致則可以next()否則就返回登陸頁面或者報錯。
- 用戶登陸和登陸后進行頁面跳轉時,向服務器請求獲取當前登陸者的角色標識,然后和url上的用戶標識對比,一致則next()否則就返回登陸頁面