管理平台前端权限设计思考 - lbwa/adminize-template GitHub Wiki
本项目主要是作者对自身开发经历的总结及思考。
概述
在一般的管理平台 web 应用中
实现方案
-
简单的 role 判断
-
在 role 判断的基础上细分权限
-
如何实现更加细致细粒度的权限控制?
-
建立前端全局私有预设路由集合 GlobalPrivateRoutesMap
-
加载全局公有路由 PublicRoutesMap
-
获取当前用户的 access list 后,序列化为 access map
-
通过 access map 过滤全局私有预设路由集合 GlobalPrivateRoutesMap 形成最终的 PrivateRoutesMap,再通过 vueRouter.addRotues 将生成的 PrivateRoutesMap 添加到全局路由实例中。
-
-
通过服务端根据当前用户的 access list 生成 PrivateRoutesMap,而不是在前端生成 PrivateRoutesMap,此时,前端根据服务端返回的 PrivateRoutesMap 序列化加入 vue 组件信息。最终通过 vueRouter.addRoutes 将序列化后的 PrivateRoutesMap 添加到全局路由实例中。
-