实现路由守卫与防止伪造token
如何实现路由守卫?
在 router/index.js 里面添加路由守卫
//路由守卫
router.beforeEach(function(to, from, next){
if(to.path==='/login'){
next(); //登陆页面直接放行
}else{
let token = local.get('token');
if(token){
next(); //存在token 直接放行
}else{
Message.error('你被发现了,你的IP地址已记录,我们已报警...');
next({path:'/login'});
}
}
});
防止伪造token
为了防止伪造token,需要在响应拦截器里面判断返回状态是不是401,如果是就做跳转
axios.interceptors.response.use(function (res) {
return res;
}, function (err) {
//判断如果是401,就报错,并跳转
if(err.response.status===401){
Message.error(err.response.data.msg)
window.location.href='#/login';
}
//访问失败时执行
return Promise.reject(err);
});
推荐阅读:
扫描二维码,在手机上阅读