在不同组架构设置中具有不同角色的用户

时间:2013-03-31 20:29:01

标签: php mysql database schema laravel

我即将在Laravel(4)中编写一个小游戏社区,并且在确定如何设置数据库表时遇到一些麻烦。这是它应该如何工作:

Users table:
John
Lisa
Stewie

Groups table:
Team red
Team blue
Team green

Roles table:
Superadmin
Admin
Moderator
Demigod

Permissions table: (describing what permissions each role has)
Superadmin (Total control of everything, will only be me and maybe a buddy with this role.)
Admin (create delete edit forums etc + everything a moderator does)
Moderator (delete forum posts, ban users)
Demigod (some other permissions)

一个用户,比如说Stewie可以在一个或多个团队中。但他在每个团队中都有不同的角色。 Stewie - 红队 - 管理员 Stewie - 蓝队 - 主持人+半神

我想知道如何以智能方式设置它? 首先想到的是user_group数据透视表。但是,如何将其与特定于组+用户的角色相关联?我应该使用某种三向数据透视表,还是可以采用其他方式设计不同的表设置?

1 个答案:

答案 0 :(得分:0)

您需要一个membership表格,如

Membership:
- membership_id
- user_id
- group_id

角色表:

Roles:
- membership_id
- role_id