通过Nuxt中间件根据用户的角色重定向用户 [英] Redirect user based on their role via nuxt middleware

查看:27
本文介绍了通过Nuxt中间件根据用户的角色重定向用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望通过nuxt中间件根据用户的角色和其他属性重定向用户。

**发生重定向但卡在导航卫士中,页面一次又一次自动重载(秒重载~500次)。

#这是我的代码

nuxt.config.js

router: {
  middleware: ['role']
},

middleware/role.js

export default function ({ redirect }) {
  if (!window.localStorage.getItem('auth.token')) {
    return redirect('/auth/login')
  }
}

the screenshot of browser console

推荐答案

重定向是一种全新的页面加载,就像您第一次访问某个页面或按F5键一样。由于您在这里执行某些条件,它将始终进行重定向,Vue应用程序将加载,并在无限循环中再次调用中间件。

创建router.push或检查初始页面是否不是重定向之前已在的页面(不是最佳选择)。

已更新答案

在中间件上下文中,如果您想访问路由器,则需要使用

<script>
export default {
  middleware({ app }) {
    if (somethingTrue) { // your condition here
      app.router.push('/')
    }
  },
}
</script>

这篇关于通过Nuxt中间件根据用户的角色重定向用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆