权限管理
Posted mb5dbb19c13b174
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限管理相关的知识,希望对你有一定的参考价值。
权限管理⼀般需求是⻚⾯权限和按钮权限的管理
具体实现的时候分后端和前端两种⽅案:
前端⽅案:
- 会把所有路由信息在前端配置,通过路由守卫要求⽤户登录,⽤户登录后根据⻆⾊过滤出路由表。
- 配置⼀个 asyncRoutes 数组,需要认证的⻚⾯在其路由的 meta 中添加⼀个 roles 字段,等获取⽤户⻆⾊之后取两者的交集,若结果不为空则说明可以访问。
- 此过滤过程结束,剩下的路由就是该⽤户能访问的⻚ ⾯,最后通过 router.addRoutes(accessRoutes) ⽅式动态添加路由即可。
后端⽅案:
- 会把所有⻚⾯路由信息存在数据库中,⽤户登录的时候根据其⻆⾊查询得到其能访问的所有⻚⾯路由 信息返回给前端
- 前端再通过 addRoutes 动态添加路由信息
按钮权限的控制:
通常会实现⼀个指令,例如 v-permission ,将按钮要求⻆⾊通过值传给v-permission指 令,在指令的 moutned 钩⼦中可以判断当前⽤户⻆⾊和按钮是否存在交集,有则保留按钮,⽆则移除按钮。
以上是关于权限管理的主要内容,如果未能解决你的问题,请参考以下文章