Существует поле таблицы базы данных be_users.usergroup
, которое содержит разделенный запятыми список be_groups.uid
.
Вы можете использовать это для поиска в базе данных.Часто ppl использует SQL-запрос, такой как
WHERE usergroup LIKE "<myid>,%" OR usergroup LIKE "%,<myid>,%" OR usergroup LIKE "%,<myid>" OR usergroup = "<myid>"
, чтобы проверить, содержит ли разделенное запятыми поле (хотя некоторые диалекты SQL могут иметь более простые способы).
Чтобы получитьИдея, как и где хранятся вещи из других таблиц, может помочь в просмотре файлов TCA, например, https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/core/Configuration/TCA/be_users.php#L63
По поводу вашего обновления:
https://docs.typo3.org/typo3cms/CoreApiReference/8.7/ApiOverview/BackendUserObject/ указывает на класс APIhttps://api.typo3.org/typo3cms/8/html/class_t_y_p_o3_1_1_c_m_s_1_1_core_1_1_authentication_1_1_backend_user_authentication.html, где вы можете найти некоторые функции, относящиеся к аналогичным задачам, для извлечения передового опыта.
Имейте в виду, что пользователи без прав администратора не будут иметь доступа к большому количеству информации, поэтому вам необходимо покинуть контекст пользователя (то есть вы не можете использовать BackendUserAuthentication
, но должны использовать базовые методы).
Относительно вашей общей идеи:
Имейте в виду, что группы могут быть расположены в сложной иерархии с наследованием.Таким образом, может быть непросто перечислить «других групповых пользователей», поскольку в зависимости от сценария вам может потребоваться добавить пользователей родительских или дочерних групп.