美文网首页前端Vue专辑
Vue路由守卫及页面登录权限控制的设置方法

Vue路由守卫及页面登录权限控制的设置方法

作者: 钱不多 | 来源:发表于2020-03-23 14:28 被阅读0次

    ①先在我们的登录页面存储一个登录数据,

    // 登录成功时保存一个登录状态;
    sessionStorage.setItem("flag", 1);
    

    ② 添加路由守卫。
    方法一:

    const router = new VueRouter({ ... })
    
    router.beforeEach((to, from, next) => {
        // ...
    })
    
    

    方法二:
    当我们使用的是export default 方法时可以在main.js中添加 router.beforeEach((to, from, next) => { })方法。

    const Recruit = resolve => require(['../components/common/main/index.vue'], resolve);
    
    export default new Router({
      routes: [
        // 登录 
        {
          path: path.login.path,
          name: path.login.path,
          component: Login,
        }, 
        .........
    

    ③ 在路由当中添加自定义字段requireAuth,判断当前路由是否需要登录。
    (下图中1是设置多权限时的设置方法,下图中2是单权限设置方法)


    3.png

    ④ 在路由守卫中添加我们自己的代码逻辑。

    // 路由守卫 
    router.beforeEach((to,from,next)=>{
        
        let flag = sessionStorage.getItem('flag ')
    
        if(to.meta.requireAuth == true){             // 需要登录权限进入的路由
            if(!flag){                               // 获取不到登录信息
                next({
                    path: '/login'
                })
            }else{                                   // 获取到登录信息,进行下一步
                return next();
            }
        }else{                                       // 不需要登录权限的路由直接进行下一步
            return next();
        }
    })
    

    相关文章

      网友评论

        本文标题:Vue路由守卫及页面登录权限控制的设置方法

        本文链接:https://www.haomeiwen.com/subject/rwsiyhtx.html