前端验证用户权限(函数方法)

  • 以后端返回数组的格式为例:
    ['APPLICATION>CREATE', 'BIOMETRIC>DELETE', 'QUOTATION>EDIT', 'CLIENT>DELETE', 'QUOTATION>CREATE', 'USER>VIEW', 'BINARY_DOCUMENT>EDIT']value >前面的值表示用户可以访问的页面,后面的值表示访问可以做的权限
  • 前端代码:
    这里我封装了一个函数,可以单独放在一个js文件里面,用的时候直接调用判断;
	`
const menuData = ['APPLICATION>CREATE', 'BIOMETRIC>DELETE', 'QUOTATION>EDIT', 'CLIENT>DELETE', 'QUOTATION>CREATE', 'USER>VIEW', 'BINARY_DOCUMENT>EDIT', 'EMAIL>VIEW']; // 假的后端返回用户权限的数据

// eslint-disable-next-line prefer-const
let verify = function (V, S) {
  let flat = false;  // 用来return的一个中间值
  const newMeenuData:Array<any> = [];
  S.map(s => {
      return newMeenuData.push(s.split('>')); // 分割返回的数据 分割为[“QUOTATION”,“CREATE”];
  }) 
  newMeenuData.map(v => {
      if (v.includes(V)) {
          flat = true;
      }
  }) // 这里因为事菜单权限,我只需要遍历并判断第一个值就可以了,需要的话可以判断两个值
  return flat;
}`
  • 调用
control: verify('ALL_CLIENTS', menuData)// control 是我前端需要判断显示隐藏菜单的字段,所以直接给他Boolean
// ALL_CLIENTS 是需要判断的字段 menuData 是后端返回的权限数组
  • 使用场景:
    • 用户登陆后菜单栏显示项目
    • 根据用户权限做该做的事
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尤山海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值