我试图在过去几周内解决此问题。我跟随了几个系列。一种在youtube上,另一种在代码课程上。两者都显示了验证用户身份的正确方法,但是一旦用户登录,登录路径仍然可以访问。我会尽量提供更多信息。
这是我的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"
});
}
}
};
登录后仍然可以访问。
答案 0 :(得分:-1)
您配置错误。其所有内容均在文档中进行了描述。例如middleware
没有这样的东西
data[0].price
与您的代码相同。您可以在文档中看到称为auth的中间件。因此,您需要设置
每条路线的设置:
middleware: ["guest"],
在nuxt.config.js中进行全局设置:
export default { middleware: 'auth' }