我创建了一个中间件来根据角色授予页面访问权限。
我正在使用 nuxt auth module
登录用户
我有三个中间件
<块引用>checklogin.js
export default function ({ store, redirect, $auth }) {
if ($auth.loggedIn) {
return redirect('/login')
}
}
<块引用>
admin.js
export default function ({ $auth, redirect }) {
const user = $auth.user
if ((user.role !== 'admin') && (user.role !== 'super admin') && (user.role !== 'publisher')) {
return redirect('/login')
}
}
<块引用>
publisher.js
export default function ({ store, redirect, $auth }) {
if ($auth.user.role === 'publisher') {
return redirect('/publishers')
}
}
在我的页面级别,我添加了这个
export default {
middleware: ['auth', 'admin', 'publisher'],
一切都很好,直到我添加了发布者中间件。
我检查了控制台,看到了这个错误
<块引用>错误:通过导航守卫从“/”重定向到“/publishers”。
<块引用>实际行为
我希望 publisher
只能访问仪表板上的发布者页面,因此当发布者登录时,它会被重定向到发布者的页面。 admin
和 super admin
可以访问其他所有页面。