我写了一个代码,应该限制非用户访问用户和管理区域,并限制用户访问管理区域,第一部分有效,但第二部分没有。用户可以访问管理区域
这是我的代码:
router.beforeEach((to, from, next) => {
if (to.name !== 'loginregister.loginpage' && to.name !== 'index.index' && to.name !== 'products.index' && to.name !== 'products.show' && to.name !== 'order.checkout' && !store.state.userToken){
next({ name: 'loginregister.loginpage' });
}
else if(store.state.isAdmin && to.name !== 'user.feed' && to.name !== 'user.workout' && to.name !== 'user.diet' && to.name !== 'products.index' && to.name !== 'products.show' && to.name !== 'order.checkout' && to.name !== 'order.summary' && to.name !== 'user.home'){
next({ name: 'user.feed' });
}
else next()
});
答案 0 :(得分:0)
我把它改成了这个,现在可以用了
router.beforeEach((to, from, next) => {
if(!store.state.userToken){
if (to.name !== 'loginregister.loginpage' && to.name !== 'index.index' && to.name !== 'products.index' && to.name !== 'products.show' && to.name !== 'order.checkout'){
next({ name: 'loginregister.loginpage' });
}
}
else if(store.state.userToken){
if(!store.state.isAdmin && to.name !== 'user.feed' && to.name !== 'user.workout' && to.name !== 'user.diet' && to.name !== 'products.index' && to.name !== 'products.show' && to.name !== 'order.checkout' && to.name !== 'order.summary' && to.name !== 'user.home'){
next({ name: 'user.feed' });
}
else next()
}
next()
});