vue中token验证登录


// 首次登录获取token存储在localStorage或者vueX中
// 在请求拦截器(request)中设置每次请求都携带token
axios.interceptors.request.use(function (config) {
    // 在请求之前验证token,是否有token或者过期
    let myToken = window.localStorage.getItem('token')
    if (token) {
        axios.defaults.headers.common['Authorization'] = myToken
    } else {
        this.$router.replace({
            // 跳转登录页
            path: '/login',
            // 存储路径,登录成功跳转
            query: {redirect: this.$router.currentRoute.fullPath}
        })
    }
    return config
}, function (error) {
    // 对错误进行判断
    // 如果返回401,则跳转到登录页
    switch (error.response.status) {
        case 401:
            this.$router.replace({
                path: '/login',
                query: {redirect: this.$router.currentRoute.fullPath}
            })
    }
    return Promise.reject(error)
})
    
// 通过路由守卫来判断当前路由页面是否需要某种条件限制
router.beforeEach(to, from, next) {
	// 判断是否限制
    if (to.meta.requiresAuth) {
        // 判断token
        if (token) {
            
        } else {
            
        }
    } else {
        next()
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM