Я новичок здесь, и это мой первый вопрос.
Прежде всего, я прошу прощения за мой плохой английский.
Я хотел бы создать приложение, используя userfrosting 0.3.0, где:
Я благодарю вас за ваше время.
UserFrosting, начиная с версии 0.3.1, не имеет встроенной поддержки иерархий групп. Тем не менее, это должно быть довольно легко реализовать. Вот как я бы это сделал:
company
а также company_user
, company
Таблица будет хранить информацию о компаниях, с первичным ключом id
, company_user
Таблица будет связывать компании с пользователями и иметь четыре столбца:
id
(Целое)company_id
(Целое)user_id
(Целое)flag_admin
(BOOL)Изменить register()
метод в AccountController.php
так что, когда кто-то регистрируется, он создает новую компанию, а затем связывает их с этой компанией, помечая их как Администратора этой компании, устанавливая flag_admin
до «1».
Любые участники, которые добавляются в определенную компанию, также должны быть добавлены в эту таблицу, но с flag_admin
установить на «0».
Создать новый AccessCondition
называется manages(user_id_1, user_id_2)
который возвращается true
если user_id_1
а также user_id_2
принадлежат к одной компании а также user_id_1
имеет flag_admin
установить на «1», false
иначе.
Предоставьте соответствующие разрешения пользователям в группе «Администраторы», чтобы они могли создавать / обновлять / удалять / просматривать пользователей, но только пользователей в группе «Участники» и только в том случае, если администратор manage
s их (поэтому, если «Members» имеет group_id «4», условие =in_group(user.id,4)&&manages(self.id,user.id)
,
Это должно помочь вам начать, дайте мне знать, если вам нужны дальнейшие разъяснения.
Других решений пока нет …