tdhao

1770 经验值

我把 if(Store.state.AuthUser.authenticated ) { 中的 || jwtToken.getToken() 去掉了,因为客户端完全可以自己写一个 jwt_token 到 localStorage 里面,虽然不能真实的通过后台验证,但是能伪造访问 vue 页面;但是这样在通过地址栏刷新的时候,就会跳出登陆,走 return next({‘name’ : ‘login’}); 貌似没有两全的方法 …

我删除了 if(Store.state.AuthUser.authenticated ) { 中的 || jwtToken.getToken() ,这部分感觉值得商榷

是的,是我对 vuex 没有理解正确

router.beforeEach((to, from, next) => {

if(to.meta.requireAuth) { // 判断该路由是否需要登录权限
    console.log(Store.state.AuthUser.authenticated);
    if(Store.state.AuthUser.authenticated ) {
        return next();
    } else {
        return next({'name' : 'login'});
    }
}

在路由钩子这里,打印 Store.state.AuthUser.authenticated;
如果在页面上通过router-link点击,打印是 true;在浏览器回车刷新,就是 false;不知为何