按照 RBAC 的原则,五张表完成用户权限分配,权限操作 routes 自动入库,角色分配权限,用户分配角色
最后发现 RBAC 分配的角色管理权限基本是对所有对象操作的(除了创建者本身可以控制外)。 比如一个编辑有 edit 帖子的权限,那就可以编辑所有的帖子,无法精细到某个节点。
对于这种只可以在某些节点编辑管理的权限分配,是否有好的解决方案?
如果无法精细,有点用牛刀的赶脚<毕竟增加了 4 张表>, 不如直接在 User 表增加一个字段 role<1,2,3,4>来得高效,
@jasl 的 role_core
https://github.com/rails-engine/role_core
楼上说的对,而且目前 Rails 下能做到你这个的只有我的方案啦
https://ruby-china.org/topics/36065
参考 java,很多这样项目。
casbin 这个可以参考一下,看不懂 golang 他还有 java 版 的实现
虽然答非所问,但建议你放弃 RBAC 这种流传甚广但其实并不灵活的解决方案, CBAC 了解一下。
了解一下 RBAC+ABAC hybrid