权限管理

Posted mb5dbb19c13b174

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限管理相关的知识,希望对你有一定的参考价值。

权限管理⼀般需求是⻚⾯权限和按钮权限的管理

具体实现的时候分后端和前端两种⽅案:

前端⽅案:

  1. 会把所有路由信息在前端配置,通过路由守卫要求⽤户登录,⽤户登录后根据⻆⾊过滤出路由表。
  2. 配置⼀个 asyncRoutes 数组,需要认证的⻚⾯在其路由的 meta 中添加⼀个 roles 字段,等获取⽤户⻆⾊之后取两者的交集,若结果不为空则说明可以访问。
  3. 此过滤过程结束,剩下的路由就是该⽤户能访问的⻚ ⾯,最后通过 router.addRoutes(accessRoutes) ⽅式动态添加路由即可。

后端⽅案:

  1. 会把所有⻚⾯路由信息存在数据库中,⽤户登录的时候根据其⻆⾊查询得到其能访问的所有⻚⾯路由 信息返回给前端
  2. 前端再通过 addRoutes 动态添加路由信息

按钮权限的控制:

通常会实现⼀个指令,例如 v-permission ,将按钮要求⻆⾊通过值传给v-permission指 令,在指令的 moutned 钩⼦中可以判断当前⽤户⻆⾊和按钮是否存在交集,有则保留按钮,⽆则移除按钮。



以上是关于权限管理的主要内容,如果未能解决你的问题,请参考以下文章

权限管理(AUTH)

HDFS 权限管理

php权限管理如何实现

Linux权限管理基本知识

Linux权限管理之基本权限

杂项-权限管理:权限管理