Skip to content

Vue如何做权限管理

权限是什么

前端的权限其实就是请求的发起权力,主要有下面两种:

  • 页面加载触发
  • 页面上按钮点击触发

如何做

主要分为四部分

1.接口权限

接口权限一般使用jwt来验证,在登录拿到token后,将token存储起来,通过请求器进行拦截,每次携带token

js
    axios.interceptors.request.use    (config => {
        config.headers['token'] = cookie.   get('token')
        return config
    })
    axios.interceptors.response.use(res=>   {},{response}=>{
        if (response.data.code ===    40099 || response.data.code ===   40098) { //token过期或者错误
            router.push('/login')
        }
    })

具体关于token的信息,参考:token介绍

2. 路由权限控制

方法一

初始化就挂在全部路由,并且标记好权限信息,每次路由跳转前做校验

方案二

初始化的时候先挂载不需要权限控制的路由,比如登录页,404等错误页。如果用户通过URL进行强制访问,则会直接进入404,相当于从源头上做了控制

登录后,获取用户的权限信息,然后筛选有权限访问的路由,在全局路由守卫里进行调用addRoutes添加路由