美文网首页
路由权限配置(页面访问控制)

路由权限配置(页面访问控制)

作者: Biao_349d | 来源:发表于2019-10-22 19:18 被阅读0次

    当我们不想给某些没有权限的用户访问某些页面的时候, 我们可以让他访问的时候,跳转到别的页面去。

    /*
     * @Description: In User Settings Edit
     * @Author: your name
     * @Date: 2019-10-17 18:49:59
     * @LastEditTime: 2019-10-22 19:15:43
     * @LastEditors: Please set LastEditors
     */
    
    import Cookies from 'js-cookie'
    import routes from '@_src/router/index.js'
    import Store from '@_src/store/store.js'
    // 不重定向白名单
    const whiteList = ['/login']
    export const beforeEach = (to, from, next) => {
      const isLogin = Cookies.get('Token')
      // 获取设置了权限的路由表;
      const permissionRouters = routes.filter(item => {
        // 设置了权限
        if (
          item.meta &&
          item.meta.privilege &&
          Array.isArray(item.meta.privilege) &&
          item.meta.privilege.length
        ) {
          return true
        }
        return false
      })
      if (whiteList.indexOf(to.path) !== -1) {
        next()
      } else if (!isLogin) {
        next({
          path: '/login'
        })
      } else if (
        // 如果前往的路由是权限表里面的路由
        // !判断是否有用户信息(是否登录了)
        // !判断前往的路由是否有当前用户权限
        permissionRouters.find(item => to.name === item.name) &&
        !(
          Store.state.login.userInfo &&
          to.meta.privilege.indexOf(Store.state.login.userInfo.role) !== -1
        )
      ) {
        next({
          path: '/login'
        })
      } else {
        next()
      }
    }
    
    

    相关文章

      网友评论

          本文标题:路由权限配置(页面访问控制)

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