前端防止url輸入地址直接訪問頁面


首先,解決這個問題要搞明白此url是從程序內部跳轉還是直接在地址欄輸入的,如果是程序內部跳轉,那就好辦啦。方法如下:

  判斷用戶是否登錄狀態,是否攜帶token

  使用router.beforeEach注冊一個全局前置守衛,判斷用戶是否登錄。

  

router.beforeEach((to, from, next) => {
   if (to.path === '/login') {
      next();
      console.log(next)
   } else {// 每次頁面跳轉執行,token或openId錯誤,均提示跳轉到首頁
      let token = sessionStorage.getItem('token');
      console.log(token)
      if (token === null || token === '' || token === undefined) {
         Toast('token錯誤,請重新登錄')
         setTimeout(function () {
            next('/login');
         },1000)
      }else{
         next();
      }
   }
});

 

 HttpRequestServlet.getHeader(‘Referer’)的值如果是空的,說明此url是地址欄直接訪問的,像這種的需要攔截,然后時期返回登錄頁面!反之則是從程序內部跳轉,可以放行!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM