想问一下给后端传当前路径 接口返回true和false。去判断是否有权限进入路由 这个判断的接口写哪里合适?

想问一下给后端传当前路径 接口返回true和false。去判断是否有权限进入路由 这个判断的接口写哪里合适?
路由是前端写死的 如果用meta的话 不知道怎么写成动态的

阅读 768
2 个回答

什么项目呢
vue的话 可以使用全局路由拦截器
vue-router
1715564107787.png

如果是固定的路由表,通过全局的前置导航守卫来处理,每次进入的时候向后端发起请求,如果后端返回 true 则执行 next() 进入对应的页面,并且把权限标识存入 sessionStorage 以便下一次进入页面后判断使用。否则 next(/404) 进入404页面或者403页面。

但是这样每进入一个新的页面,用户需要等待权鉴判断返回会有等待时间,所以需要增加 NProgress 这种进度条提示用正在载入页面。
如果使用 sessionStorage 或者 localStorage 来缓存用户路由权限,记得用户登出之后清理掉本地缓存。

如果不是固定的路由表,由后端返回的权限路由表。那么就不需要那么麻烦了,写一个动态的路由表,然后菜单由这个动态路由表渲染就行了。这个可以借鉴现有的一些项目,比如说:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进