欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请问区分栏目,用户多对多可能性的权限管理,有什么好的解决方案吗?

程序员文章站 2024-01-21 19:53:28
...
如:有
  1. 栏目 a/b/c/d,

  2. 用户user1/2/3/4

  3. 管理admin1/admin2

其中:

  1. user1有所有栏目发帖权限.

  2. user2,有b/c栏目发帖权限

  3. user3有d栏目发帖权限

  4. user4 有a/c/d栏目发帖权限

  5. 所有用户可编辑自己的帖子,不能删除自己的帖子

管理:

  1. admin1有删除所有用户帖子的权限.

  2. admin2只能编辑和删除 user1,user4 2个用户的帖子

  3. admin3只能编辑 user3的帖子

我使用过的是yii2框架,通过yii自带的rbac可以实现上述需求,但是接下来的需求彻底没方向.

现在有 管理员 admin3:

  1. 可编辑 user1a,c栏目的帖子(user1本身可在所有栏目发帖,但admin只能管理user发布在a,c2个栏目的帖子)

  2. 可编辑 user2b,栏目的帖子(user2同上)

  3. 可编辑栏目 d中 user1,4的帖子(栏目d,本身可以被user1,3,4三个用户发帖,但admin3只能管理1,42个账户的帖子)

简单说, 就是某个管理员针对不同的栏目/用户, 或针对不同的用户/栏目 进行权限管理.
有多个管理员的情况下,这种交叉应该会非常多变.(用户,栏目是多对多的情况).

请问有什么已经有的方案吗? 还请大家多多指导. 谢谢.

回复内容:

如:有

  1. 栏目 a/b/c/d,

  2. 用户user1/2/3/4

  3. 管理admin1/admin2

其中:

  1. user1有所有栏目发帖权限.

  2. user2,有b/c栏目发帖权限

  3. user3有d栏目发帖权限

  4. user4 有a/c/d栏目发帖权限

  5. 所有用户可编辑自己的帖子,不能删除自己的帖子

管理:

  1. admin1有删除所有用户帖子的权限.

  2. admin2只能编辑和删除 user1,user4 2个用户的帖子

  3. admin3只能编辑 user3的帖子

我使用过的是yii2框架,通过yii自带的rbac可以实现上述需求,但是接下来的需求彻底没方向.

现在有 管理员 admin3:

  1. 可编辑 user1a,c栏目的帖子(user1本身可在所有栏目发帖,但admin只能管理user发布在a,c2个栏目的帖子)

  2. 可编辑 user2b,栏目的帖子(user2同上)

  3. 可编辑栏目 d中 user1,4的帖子(栏目d,本身可以被user1,3,4三个用户发帖,但admin3只能管理1,42个账户的帖子)

简单说, 就是某个管理员针对不同的栏目/用户, 或针对不同的用户/栏目 进行权限管理.
有多个管理员的情况下,这种交叉应该会非常多变.(用户,栏目是多对多的情况).

请问有什么已经有的方案吗? 还请大家多多指导. 谢谢.

rbac权限管理,可根据框架不同,github上挑选现成稳定的package,或者自己实现逻辑

相关标签: rbac php