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