RBAC 角色继承问题

场景是:新建员工功能,经理能新建主管、普通员工;主管只能新建普通员工。麻烦问下这个怎么设计?

写在青春年华
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

很简单呀,在数据库或者配置文件中存一个对应关系,比如 roles 表新增一个 pid 字段表示能创建此角色的上级角色 ID, 在新建员工选择角色时候只查询 pid 为当前用户角色 id 的角色。

3年前 评论
讨论数量: 5

很简单呀,在数据库或者配置文件中存一个对应关系,比如 roles 表新增一个 pid 字段表示能创建此角色的上级角色 ID, 在新建员工选择角色时候只查询 pid 为当前用户角色 id 的角色。

3年前 评论

有一个层级关系的权限管理包,你可以找一下

3年前 评论

经理有一个权限表 经理创建创建主管时赋予的权限就把经理权限用来选择,主管创建员工的时候也是一样的

3年前 评论

如果想简单的话 拿到赋予用户的角色 id 然后进行判断 这里只是提供一个思路 放配置文件放数据表都可


//简单的话 新建一个权限节点的数组 权限数据
// 角色 1 经理 2 主管 3 员工
return [
    1=>[
        'create_role'=>[2,3]
    ],
    2=>[
       'create_role'=>[3]
    ],
    3=>[
        'create_role'=>false
    ]
];


3年前 评论
jenkincei

php-casbin 了解下,解决此类问题方法很多,这是个不错的选择

3年前 评论
jenkincei (作者) 3年前