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

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

回答:

关键词:
基于token的身份验证,JWT,axios拦截器

链接:
参考链接

回答:

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

 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()
    }
})

回答:

将登录状态保存在本地storage或cookie或vuex(最好是vuex),然后其他的跟上面差不多

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注