Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
499 views
in Technique[技术] by (71.8m points)

前端路由是全部都由后端返回,还是后端返回对应角色下的权限,然后前端通过遍历的方式来修改当前路由呢?

在看vue-element-admin中有个权限验证,现在不知道这2者有啥区别,请大佬说说有什么好的方式来处理这个动态路由
https://panjiachen.github.io/...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

第一种后台返回路由,第二种后台返回权限。
共同点:

  • 两种方法都可以实现需求
  • 前端都要维护一份路由地址与模块文件地址的映射
  • 后段返回的数据一般都要再遍历做二次处理
  • 有关页面内元素(按钮)的权限都要另做处理
  • 技术点都会涉及路由守卫和路由鉴权

差异点:

  • 默认路由列表:方法一只维护home、login等无权限需求路由,其他路由需要后续通过接口和路由api:addRoutes动态添加;方法二需要维护一个全量的路由列表,不需要额外添加路由,通过配置每个路由的access数组来做鉴权。
  • 路由跳转:因为方法一返回的就是该用户权限下的路由,所以不需要再做权限鉴权;方法二需要。
  • 路由的自定义程度:方法一可以通过修改数据库的路由数据来自定义前端的菜单结构,因此也需要做一个实现路由重组的递归函数,拓展性更好;方法二针对的是菜单结构相对稳定的项目,一般不支持结构变动。
  • 返回报文:一般来说,返回报文大小 方法一比方法二要大

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...