Vue框架下實現路由攔截

    我們在開發項目的時候會遇到一個問題,用戶並沒有登錄系統,但是輸入路由就可以查看到具體的頁面,這樣是不安全的,所以此時需要進行路由攔截。

    1⃣️我們在用戶登錄之後要使用一個標誌記錄一下狀態,我的項目中採取的是sessionStorage記錄,用戶登錄成功後我會使用sessionStorage.setItem('isLogin', true)來將該用戶的狀態記錄爲登錄;用戶註銷時採用sessionStorage.setItem('isLogin', false)來將該用戶的狀態記錄爲未登錄(注:此處只考慮了一個瀏覽器登錄一個用戶的情況)

    2⃣️在需攔截的路由中添加meta:{requireAuth: true},表示訪問該路由需要驗證用戶是否登錄

    3⃣️在main.js中添加router.beforeEach方法,每個路由訪問前都會先執行該方法

   to 是即將訪問的路由對象

   from 是當前導航正要離開的路由對象

   next() 執行管道中的下一個鉤子,也就是進入要訪問路由的操作

   next({path: '/login'}) 跳轉到一個不同的地址,當前的導航被中斷,然後開始一個新的導航

   到此,一個簡單的路由攔截操作就做完了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章