十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
上一篇文章中有同学提到路由鉴权,由于时间关系没有写,本文将针对这一特性对 vue
和 react
做专门说明,希望同学看了以后能够受益匪浅,对你的项目能够有所帮助,本文借鉴了很多大佬的文章篇幅也是比较长的。
单独项目中是希望根据登录人来看下这个人是不是有权限进入当前页面。虽然服务端做了进行接口的权限,但是每一个路由加载的时候都要去请求这个接口太浪费了。有时候是通过SESSIONID来校验登陆权限的。
在正式开始 react
路由鉴权之前我们先看一下vue的路由鉴权是如何工作的:
一般我们会相应的把路由表角色菜单配置在后端,当用户未通过页面菜单,直接从地址栏访问非权限范围内的url时,拦截用户访问并重定向到首页。
vue
的初期是可以通过动态路由的方式,按照权限加载对应的路由表 AddRouter
,但是由于权限交叉,导致权限路由表要做判断结合,想想还是挺麻烦的,所以采用的是在 beforeEach
里面直判断用非动态路由的方式
在使用 Vue的时候,框架提供了路由守卫功能,用来在进入某个路有前进行一些校验工作,如果校验失败,就跳转到 404 或者登陆页面,比如 Vue 中的 beforeEnter
函数:
... router.beforeEach(async(to, from, next) => { const toPath = to.path; const fromPath = from.path; }) ...