antd Pro v5 如何阻止用户通过浏览器输入框访问没有权限的页面

本文探讨了在后台管理系统中,如何防止未经授权用户访问受限URL,重点讲述了使用Ant Design Pro的access功能、浏览器URL输入监控、后端权限验证接口以及优化位置的选择。最终解决方案是通过后端接口实现权限检查,避免频繁刷新带来的性能问题。

项目背景:后台管理系统,有权限功能,不同用户访问的菜单只能是他们有权限的菜单,菜单是通过后端返回的(有啥权限就返回对应的菜单)。但当用户【通过浏览器输入该用户没有权限的url】时,应该不允许访问成功。

如果用antd pro umi 自带的access去控制是可以的(吧),没试过。

但我们系统没有用access。

如何实现这个功能呢?

最开始准备用history.block去监控,但是只能监控在系统内点击,没法监控在浏览器中输url。

去antdpro交流群请教,最后一位大佬说,应该后端去做这个鉴权,

最后跟后端商量,出一个根据路径检测当前用户是否有该路径菜单权限的接口

这样在用户重新输入url时,就可以控制,让其跳转到404或者403页面。

有一个比较不咋有好的地方是这个地方,每次刷新进入要调几次接口,有没有更好的地方放这个接口。

------------------------------------------------------------------------------

加更:

在menuDataRender里面去监听路由的时候,会导致,我调用退出登录接口后,还会走一遍验证是否有权限的接口,导致拿到的是之前的token,401.

最后:放到了getInitialState里就可以

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值