在 userfrosting 中将父组添加到用户组的最佳方法是什么?

What is the best way to add a parent group to user groups in userfrosting?

我是新来的,这是我的第一个问题。 首先,我为我糟糕的英语道歉。 我想使用 userfrosting 0.3.0 创建一个应用程序,其中:

非常感谢您的宝贵时间。

从 0.3.1 版开始,UserFrosting 没有对组层次结构的内置支持。但是,它应该很容易实现。这是我的做法:

  1. 创建两个组,"Administrators" 和 "Members"。将其设置为 "Administrator" 是新用户的 default primary group
  2. 创建两个 table,companycompany_usercompany table 将使用主键 id 存储有关公司的信息。 company_user table 将公司与用户相关联,并有四列:
    • id(整数)
    • company_id(整数)
    • user_id(整数)
    • flag_admin(布尔值)

更改AccountController.php中的register()方法,当有人注册时,它会创建一个新公司,然后将他们与该公司相关联,通过设置[=将他们标记为该公司的管理员18=] 到 '1'。

添加到特定公司的任何成员也应添加到此 table,但 flag_admin 设置为“0”。

  1. 创建一个名为 manages(user_id_1, user_id_2) 的新 AccessCondition 其中 returns true 如果 user_id_1user_id_2 属于同一家公司 user_id_1 已将 flag_admin 设置为“1”,否则 false

  2. 向组 "Administrators" 中的用户授予适当的权限,以便他们可以 create/update/delete/view 用户,但仅限组 "Members" 中的用户,并且仅当管理员 manages 他们(所以如果 "Members" 有一个 group_id 的“4”,条件=in_group(user.id,4)&&manages(self.id,user.id)

  3. 您还需要修改各种用户 create/update/delete 方法,以便当管理员创建用户时,将他们添加到组 "Member" 并将他们与适当的公司相关联。

这应该让你开始了,如果你需要进一步的说明,请告诉我。