Vue 实现前端权限控制

本文介绍了Vue中实现前端权限控制的三个主要部分:登录权限控制、页面权限控制和接口权限控制。登录权限控制通过axios拦截器实现token验证;页面权限控制包括菜单页面访问和按钮权限显示,使用router.beforeEach()和Vue指令v-permission;接口权限控制作为最后一道防线,防止越权请求。
摘要由CSDN通过智能技术生成

登录&&权限流程图

前言
首先我们确定的权限控制分为三大部分,其中根据粒度大小分的更细:

登录权限控制
页面权限控制
菜单中的页面是否可以被访问
页面中的按钮 (增、删、改、查)的权限控制是否显示
接口权限控制
一、登录权限控制
登录访问权限控制是对用户的校验。在用户登录成功之后,后台将返回一个token,之后前端每次进行接口请求的时候,都要带上这个token。后台拿到这个token后进行判断,如果此token确实存在并且没有过期,则可以通过访问。如果token不存在或后台判断已过期,则会跳转到登录页面,要求用户重新登录获取token。

做法一

在用户登录成功的回调中将后台返回的token直接存储到localStorage,然后同步配置请求默认参数的形式将token取出放入headers中传给后台。代码如下:

let axiosOptions = {
method,
url,
data,
timeout,
// ‘arraybuffer’, ‘blob’, ‘document’, ‘json’, ‘text’, ‘stream’。default json
responseType,
// 请求头内追加authToken属性
headers: {
authtToken: window.localStorage.getItem(base/token$$)
}
}
复制代码
做法二

当前项目中使用axios.interceptors.request.use设置发送请求前的拦截,直接将token塞入req.headers.authToken中,作为全局传入。代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值