vue管理員鑑權

2021-10-12 03:19:14 字數 1721 閱讀 3903

在路由裡面新增識別符號 isadmin: true,

和伺服器返回是否是管理員

聯合判斷

//看vuex裡面的使用者資訊,是否是管理員,是管理員就全部是true

//不是管理員,看當前路由資訊,的meta標籤 判斷是否是管理員

//是就顯示,不是就不顯示

-main

:style=""

v-show="

this.$store.state.user.user.isadmin || !this.$route.meta.isadmin

">

-view>

就是新增全域性路由守衛判斷,是否是管理員,才有許可權進去某個路由

login 元件

登入成功後做本地儲存和store儲存,並進行跳轉。

async handlelogin(e);/

/傳送登入非同步請求,獲取結果集

/code=='0'表示登入成功,進行本地儲存和store儲存 並進行跳轉。

//else 彈出錯誤提示

if(code == "0"

)else);

toast.show();

}}

routes裡用 mate.auth來標識是否需要鑑權。

router.beforeeach做個全域性路由守衛,

根據是否需要鑑權以及是否已經登入來進行不同操作。

axios.interceptors.request.use攔截axios所有http請求,

如果存在token,則放入請求頭。

axios.interceptors.response.use

攔截的axios的響應,如果token以及失效,

則清除本地快取和store儲存並跳轉到登入頁面。

/

/ 攔截axios所有http請求,預先放入token請求頭

axios.interceptors.request.use(config =>

return config;})

;// 響應***,提前預處理響應

axios.interceptors.response.use(

response =>

}return response;},

err => })

;function logoutfun()}

);}

服務端也需要做請求處理的中介軟體。如果請求不是req.path不是』/api/login』並且沒有攜帶token,則返回錯誤狀態碼401(錯誤狀態碼前後端約定好)。我們在vue.config.js裡模擬後台介面』/api/login』

import axios from

"axios"

;import store from

"./store"

;import router from

"./router";

(req, res, next) =>

else

}else

})

Vue路由鑑權

router index.js var router export default router newrouter 更多.let indexscrolltop 0router.beforeeach to,from next else else else if to.path document.ti...

vue 按鈕許可權 鑑權

在實際專案開發中,登陸的賬號會有多種角色,例如操作員新增,審核員審批。每個角色的按鈕許可權都不相同,我們在開發中應該做好這一塊的許可權處理 首先使用者登入時,我們可以用過api介面獲取所有選單和按鈕的許可權,我們可以把所有按鈕資訊,儲存在sessionstorage中。const authority...

Ant Design Pro 鑑權 許可權管理

ant design pro 1.0.0 v4 最近需要專案需要用掃碼登入,因此就使用antd pro提供的鑑權能力來做 authorized.ts 提供初始化路由元件和過載路由的函式 import renderauthorize from components authorized import ...