我有一个登录页面,我希望登录的用户看不到。我的组件如下:
<template>...</template>
<script lang="ts">
...
@Component({
layout: 'fullWidth',
auth: 'guest',
components: {
Base,
BaseAuth,
}
})
export default class Login extends Vue { ... }
</script>
登录后,如果我转到/login
路由,则可以查看该页面。我的nuxt配置如下:
auth: {
redirect: {
login: '/login',
logout: '/',
// callback: '/login',
home: '/'
},
strategies: {
local: {
endpoints: {
login: { url: '/auth/login', method: 'post', propertyName: 'token' },
logout: { url: '/auth/logout', method: 'post' },
user: { url: '/auth/user', method: 'get', propertyName: 'user' }
},
}
}
}
还有其他配置吗?
答案 0 :(得分:0)
我知道这不是该模块的真正解决方案,但最终我要做的是在登录页面上添加钩子:
mounted() {
if (this.$auth.loggedIn) {
return this.$router.push('/dashboard')
}
},
答案 1 :(得分:0)
使用这个,先注册中间件再使用auth。
middleware: 'auth',
auth : 'guest',