Vue3路由导航守卫无限重定向错误,刷新后跳转异常原因咨询
导航守卫无限重定向错误原因及解决办法
错误原因
你的/noAuth路由的meta.access也设置为了"canAdmin",直接导致了无限循环:
- 非admin用户访问需要
canAdmin权限的页面时,导航守卫会将其重定向到/noAuth - 但
/noAuth同样要求canAdmin权限,导航守卫再次触发检查,发现用户仍非admin,又会重定向到/noAuth - 这个过程反复触发,最终造成无限重定向错误
解决办法
只需要修改/noAuth路由的权限配置,让它不需要管理员权限:
export const routes: Array<RouteRecordRaw> = [ // ...其他路由 { path: "/noAuth", name: "无权限", component: NoAuthView, // 移除access配置,或者明确标记为无需权限 // meta: { // access: "noNeed", // }, }, // ...其他路由 ];
这样非admin用户被重定向到/noAuth时,导航守卫不会对该页面进行权限检查,循环就会被打破。
如果需要更严谨的逻辑,也可以在导航守卫里增加对无需权限页面的判断,但核心还是要确保/noAuth不受权限拦截。
内容的提问来源于stack exchange,提问作者tingsen cai
相关产品推荐
相关产品推荐

