搜索

首页  >  问答  >  正文

javascript - vue2.0 实现登录过后,所有的页面无需登录, 未登录。访问任何页面的地址都调到登录页,怎么实现呢

vue 实现登录过后,所有的页面无需登录, 未登录。访问任何页面的地址都调到登录页,实现思路,
项目使用的 是vue2.0 + axios,

大家讲道理大家讲道理2779 天前827

全部回复(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
  • 取消回复