Vuejs2 成功登录后,仍可访问Nuxt JS登录路由

Vuejs2 成功登录后,仍可访问Nuxt JS登录路由,vuejs2,middleware,nuxt.js,Vuejs2,Middleware,Nuxt.js,过去几周我一直在努力解决这个问题。我看了几个系列。一个在youtube上,一个在codecourse上。它们都显示了验证用户身份的正确方法,但一旦用户登录。登录路径仍然可以访问。我会尽力提供尽可能多的信息 这是我的nuxt.config.js auth: { plugins: ["~plugins/auth.js"], strategies: { local: { endpoints: { login: {

过去几周我一直在努力解决这个问题。我看了几个系列。一个在youtube上,一个在codecourse上。它们都显示了验证用户身份的正确方法,但一旦用户登录。登录路径仍然可以访问。我会尽力提供尽可能多的信息

这是我的nuxt.config.js

 auth: {
    plugins: ["~plugins/auth.js"],
    strategies: {
      local: {
        endpoints: {
          login: {
            url: "auth/login",
            method: "post",
            propertyName: "meta.token"
          },
          user: {
            url: "auth/me",
            method: "get",
            propertyName: "data"
          },
          logout: {
            url: "auth/logout",
            method: "post"
          },
          redirect: {
            login: "/auth/login",
            logout: "/",
            home: "/",
            callback: "/"
          },
          watchLoggedIn: true,
          rewriteRedirects: true
        }
      }
    }
  },
这是我的login.vue

export default {
  middleware: ["guest"],
  auth: "guest",
  name: "login",
  data() {
    return {
      form: {
        email: "",
        password: ""
      }
    };
  },
  methods: {
    async login() {
      await this.$auth.loginWith("local", {
        data: this.form
      });
      this.$router.push({
        path: this.$route.query.redirect || "/dashboard"
      });
    }
  }
};

登录后仍然可以访问

您的配置错误。这些都在文档中描述过。比如说

世上没有这样的事

middleware: ["guest"],
就像你的代码一样。正如您在文档中看到的,称为auth的中间件。所以你也需要设置它

每条路线的设置:

export default {
  middleware: 'auth'
}
nuxt.config.js中的全局设置:

router: {
  middleware: ['auth']
}

我猜,你没听我说。我在youtube上找到了一个指南教程。这就是我创建来宾中间件的地方。@manshu如果你创建了来宾中间件,你需要将它添加到帖子中。没有人知道你追随了什么,做了什么。你需要提供所有相关的代码,否则就一无所获。在你的帖子中,你没有说过你自己创建了来宾中间件