小编Ryb*_*bus的帖子

如何实现基于组和角色的权限系统?

我目前正在使用Symphony 2库在PHP中构建应用程序,但我想这个问题适用于任何类型的Web应用程序.这是我想要实现的基础架构:

  • 每个用户都是一个或多个组的一部分
  • 每个组都实现一个或多个角色
  • 组实施的角色适用于该组中的所有用户
  • 用户可以实现不在其组中的其他角色

一个例子

  • 一组'作家'实现'作家'角色和'评论主持人'角色
  • 一组'管理员'实现'admin'角色
  • 用户'Henry'是编写组和管理员组的一部分
  • 用户'Henry'实现'所有者'角色

对该用户有效的角色是"作家","评论主持人","管理员"和"所有者".

编辑

具有这种行为是否是一种好的做法:用户可以从其自己的组继承角色,也可以具有单独的角色.如果是这样,如何让它成为现实?

我想到了5个表:

用户:

  • ID
  • 名称

作用:

  • ID
  • 名称

UserRole:

  • id_user(FK)
  • id_role(FK)

:

  • ID
  • 名称

GroupRole:

  • id_group(FK)
  • id_role(FK)

用户组:

  • id_user(FK)
  • id_group(FK)

这可能有效,主要问题是阻止用户从其所属的组中添加单个角色.

似乎有点复杂.有没有更好的方法呢?

谢谢

php roles

4
推荐指数
1
解决办法
2885
查看次数

标签 统计

php ×1

roles ×1