vue-element-admin登錄攔截設(shè)置白名單方式
vue-element-admin登錄攔截設(shè)置白名單
用途:
在vue中我們一般把登錄攔截及權(quán)限處理在permision.js文件中并在min.js中導入;
當頁面跳轉(zhuǎn)時判斷用戶是否登錄及token是否過期,若token過期/未登錄則會重定向到login頁面;
但有些項目除了登錄頁還有用戶注冊頁面,此時需要設(shè)置白名單使得可以直接從login頁面跳轉(zhuǎn)至regist頁面而不會被重定向到login頁;
permision.js:
import router from './router' import store from './store' import { Message } from 'element-ui' const whiteList = ['/login','/regist'] //白名單 router.beforeEach(async (to, from, next) => { // 確定用戶是否已經(jīng)登錄 const hasToken = localStorage.getItem('token') if (hasToken) { if (to.path === '/login') { // 如果已登錄,則重定向到主頁 next({ path: '/' }) }else{ //權(quán)限處理部分,可參考vue-element-admin框架中permision.js權(quán)限處理部分 } } else { //沒有token的情況 if (whiteList.indexOf(to.path) !== -1) { // 如果在白名單內(nèi)則直接跳轉(zhuǎn) next() } else { // 其余頁面重定向到登錄頁 next(`/login?redirect=${to.path}`) } } })
切記要在min.js中引入該js: import './permission'
vue-element-admin正確使用登錄攔截設(shè)置白名單
用途:
在vue中我們一般把登錄攔截及權(quán)限處理在permision.js文件中并在min.js中導入;
當頁面跳轉(zhuǎn)時判斷用戶是否登錄及token是否過期,若token過期/未登錄則會重定向到login頁面;
但有些項目除了登錄頁還有用戶注冊頁面,此時需要設(shè)置白名單使得可以直接從login頁面跳轉(zhuǎn)至regist頁面而不會被重定向到login 。
以下是使用代碼 。
我把404和登陸頁面放入白名單再進行邏輯處理
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3使用Vue Router實現(xiàn)前端路由控制
在現(xiàn)代Web應(yīng)用中,前端路由控制是非常重要的一部分,它可以幫助我們將不同的頁面內(nèi)容展示給用戶,同時保持用戶在瀏覽不同頁面時的連貫性,本文將介紹如何使用Vue Router來實現(xiàn)前端路由控制,需要的朋友可以參考下2024-10-10Vue數(shù)組響應(yīng)式操作及高階函數(shù)使用代碼詳解
這篇文章主要介紹了Vue數(shù)組響應(yīng)式操作及高階函數(shù)使用代碼詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08vue實現(xiàn)的多頁面項目如何優(yōu)化打包的步驟詳解
這篇文章主要介紹了vue實現(xiàn)的多頁面項目如何優(yōu)化打包的步驟詳解,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-07-07vue如何實現(xiàn)el-select下拉選項的懶加載
這篇文章主要介紹了vue如何實現(xiàn)el-select下拉選項的懶加載,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04