NuxtJS和Auth路由豁免

时间:2019-11-13 11:56:13

标签: javascript nuxt.js nuxt

我目前正在使用Nuxt.js及其随附的身份验证模块。

是否可以在auth中创建豁免,以防止在用户未登录时自动重定向到登录页面?

以以下示例为例:

  1. 用户未登录并导航至:http://localhost:3000/#/password-reset

  2. 它们将被重定向到登录屏幕:http://localhost:3000/#/login

我想创建一个例外,以便所有路由均受auth保护,除了用于重置密码的页面(http://localhost:3000/#/password-reset)以外,它们已经受到auth的保护。

这怎么可能?

1 个答案:

答案 0 :(得分:0)

我认为您正在使用nuxt-auth

创建中间件middleware/isAuth.js

export default function({ app, error }) {
  if (!app.$auth.loggedIn) {
    // If you want to redirect to login page
    app.router.push('/password-reset')

    // If you want to throw error, use this:
    return error({
      statusCode: 403,
      message: 'You are not allowed to see this'
    })
  }
}

在您要保护的页面中,声明您的中间件:

export default {
    ...
    middleware: ['isAuth'],
    ...
}

如果用户未登录,它将阻止页面。 要登录用户,您应该使用loginWith