davidoff567
V2EX  ›  问与答

关于 RBAC 模型经典 5 表中的 permission 表问题

  •  
  •   davidoff567 · Apr 28, 2023 · 1783 views
    This topic created in 1111 days ago, the information mentioned may be changed or developed.

    第一次接触 RBAC 模型,我想把权限控制细分到按钮级别,设计表的时候有 2 个问题查了半天,发现没有标准答案,想看看大家的思路。 1 、在给角色分配权限时,实际操作的仅仅是 [角色权限关联表] 吗? 2 、permission 表中的数据大家怎么对待的?主流做法是在表里维护一整套全量权限数据吗?

    Supplement 1  ·  Apr 28, 2023
    我这边现状是:用户表->用户角色关联表->角色表->角色权限关联表->权限表
    Supplement 2  ·  Apr 30, 2023
    已解决,谢谢大家
    12 replies    2023-04-29 06:26:46 +08:00
    xxmaqzas
        1
    xxmaqzas  
       Apr 28, 2023   ❤️ 1
    主流方案可以参考 ruoyi ,不满足需求自行扩展即可
    renmu
        2
    renmu  
       Apr 28, 2023   ❤️ 1
    对啊,给用户分配权限就可以了。

    我们权限表数据是由前端添加的。
    renmu
        3
    renmu  
       Apr 28, 2023   ❤️ 1
    想要精确到按钮级别就会很麻烦,每个按钮都要去配置权限,可能还要配置使用的接口。
    ynkkdev
        4
    ynkkdev  
       Apr 28, 2023   ❤️ 1
    想要前端精确到菜单的话,建议单独搞一个 menu 表,可以配置 menu 与 permission ,前端只关心 menu 里面这个用户有那些按钮、侧边栏。

    后端业务自己对过来请求和 permission 进行二次校验。
    v2eb
        5
    v2eb  
       Apr 28, 2023
    角色关联权限
    权限关联菜单
    davidoff567
        6
    davidoff567  
    OP
       Apr 28, 2023
    @renmu 前端添加 指的是允许用户(超级管理员)操作权限表数据吗?如果是的话 假设角色 A 和角色 B 同时拥有页面 C 的增删改查 4 个按钮权限,当角色 A 删除权限表内的所有页面 C 数据时,后端要先查出拥有整个权限的角色;新增 D 角色时 假如页面 C 的按钮权限数据被删干净了。以上的新增、删除例子 都会中断用户的操作吧,允许权限表数据被前端操作的话 会不会太灵活了?
    davidoff567
        7
    davidoff567  
    OP
       Apr 28, 2023
    @youngce menu 表和 permission 表 中的数据都应该是静态的吗?我刚才合计了一下,权限表数据似乎应该读配置文件来获取,而不是允许用户在页面上维护。拿新增、删除角色的场景举例子,角色大概率和权限表数据高度耦合,动一处会影响全局,我理解的对吗?
    davidoff567
        8
    davidoff567  
    OP
       Apr 28, 2023
    @v2eb 对 它们中间还有专门表达关联关系的表。你的意思是权限表后面再搞一个菜单表吗?权限表里面应该也能表达吧, 我这边现状是:用户表->用户角色关联表->角色表->角色权限关联表->权限表
    v2eb
        9
    v2eb  
       Apr 29, 2023
    权限对应后台接口, 有菜单表, 对应每个页面。
    hhjswf
        10
    hhjswf  
       Apr 29, 2023 via Android
    权限表里包括了菜单,树级结构
    miv
        11
    miv  
       Apr 29, 2023 via Android
    这玩意儿有什么标准答案?直接参考若依完事。
    renmu
        12
    renmu  
       Apr 29, 2023 via Android   ❤️ 1
    @davidoff567 a ,b 有按钮权限不代表有配置权限的权限,反正角色这玩意最后是交给运营自己配的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3830 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 10:31 · PVG 18:31 · LAX 03:31 · JFK 06:31
    ♥ Do have faith in what you're doing.