搜尋

首頁  >  問答  >  主體

javascript - vue2.0 實作登入後,所有的頁面無需登錄, 未登入。造訪任何頁面的位址都調到登入頁,要怎麼實現呢

vue 實現登入後,所有的頁面無需登錄, 未登入。造訪任何頁面的位址都會調到登入頁,實現想法,
專案使用的 是vue2.0 axios,

大家讲道理大家讲道理2780 天前830

全部回覆(3)我來回復

  • 高洛峰

    高洛峰2017-05-19 10:38:19

    關鍵字:
    基於token的身份驗證,JWT,axios攔截器

    連結:
    參考連結

    回覆
    0
  • 黄舟

    黄舟2017-05-19 10:38:19

    在路由配置中,需要登入的路由加上

     meta: { requiresAuth: true }

    在main.js中判斷使用者是否登錄,未登入跳到登入頁

    router.beforeEach((to, from, next) => {
        if (to.matched.some(record => record.meta.requiresAuth)) {
            //这里判断用户是否登录,我例子中是验证本地存储是否有token
            if (!localStorage.token) {
                next({
                    path: '/login',
                    query: { redirect: to.fullPath }
                })
            } else {
                next()
            }
        } else {
            next() // 确保一定要调用 next()
        }
    })

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:38:19

    將登入狀態保存在本地storage或cookie或vuex(最好是vuex),然後其他的跟上面差不多

    回覆
    0
  • 取消回覆