Vuejs2 如何限制用户访问管理区vue路由器防护

Vuejs2 如何限制用户访问管理区vue路由器防护,vuejs2,vuex,vue-router,Vuejs2,Vuex,Vue Router,我写了一个代码,应该限制非用户访问用户和管理区,并限制用户访问管理区,第一部分是工作,但第二部分不是。用户可以访问管理区 这是我的密码: router.beforeEach((to, from, next) => { if (to.name !== 'loginregister.loginpage' && to.name !== 'index.index' && to.name !== 'products.index' && to.name

我写了一个代码,应该限制非用户访问用户和管理区,并限制用户访问管理区,第一部分是工作,但第二部分不是。用户可以访问管理区

这是我的密码:

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()

});

我把它改成了这个,现在可以用了

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()
});