Vue 3 中登录状态管理怎么在登录失效时保存当前页面的重定向地址

秋丽同学_1086

秋丽同学_1086

2026-10-19

647人浏览

原创

登录失效时保存当前页面地址的核心是拦截未授权访问、记录目标路径、登录后跳转;关键在被拒绝瞬间记录原路径,而非登录时存储,通过401响应拦截或路由守卫提前捕获并编码 fullpath 作为 redirecturl 参数,登录成功后解码校验并跳转,退出时也主动保存以提升体验。

vue 3 中登录状态管理怎么在登录失效时保存当前页面的重定向地址

登录失效时保存当前页面地址,核心是“拦截未授权访问 + 记录目标路径 + 登录后跳转”。关键不在登录时存,而是在登录被拒绝的那一刻就记下用户原本想去哪。

在响应拦截器中捕获 401 并记录重定向路径

当接口返回 401(未授权)或特定业务码(如 code === 1000),说明 token 失效或已过期。此时应立即保存当前路由 fullPath,并跳转到登录页:

  • 使用 encodeURIComponent(route.fullPath) 对路径编码,避免特殊字符出错
  • 拼接到登录 URL 的 query 参数中,例如:/login?redirectUrl=%2Fdashboard%2Fprofile
  • 跳转前清除本地无效 token 和用户信息,防止残留状态干扰

路由守卫中对需登录页面做前置保护

给需要鉴权的路由统一配置 meta: { needLogin: true },在全局前置守卫中检查登录态:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习