vue2 路由拦截器判断token
时间: 2023-12-02 17:03:49 浏览: 101
vue在路由中验证token是否存在的简单实现
在Vue2中,可以使用路由导航守卫来判断token。在路由配置中,可以使用beforeEach导航守卫来进行判断。该导航守卫接收三个参数:to表示将要访问的页面,from表示从哪个路径跳转而来,next是一个表示放行的函数。在导航守卫的回调函数中,可以通过从sessionStorage中获取保存的token值来进行判断。如果没有token,则可以强制跳转到登录页,否则放行,即验证成功。以下是一个示例代码:
```javascript
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
// 如果访问的是登录页,直接放行
if (to.path === '/login') return next();
// 获取token
const tokenStr = window.sessionStorage.getItem('token');
// 如果没有获取到token,则跳转到登录页
if (!tokenStr) return next('/login');
// 有token则放行
next();
});
```
这段代码的作用是,在用户访问非登录页时,会先判断是否存在token。如果不存在token,则会强制跳转到登录页;如果存在token,则放行,即验证成功。这样可以实现路由拦截器判断token的功能。
#### 引用[.reference_title]
- *1* *3* [Vue——token原理、路由导航守卫与请求拦截器](https://blog.csdn.net/weixin_43599321/article/details/128603623)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [在vue中使用token认证方法设置路由导航守卫实现路由拦截](https://blog.csdn.net/weixin_44229941/article/details/125311995)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文