Как включить Ролевый пользовательский чат в Ejabberd

1

Как я могу получить чат-систему на основе ролей в веб-приложении. Например. SuperAdmin может общаться с кем-либо в организации. Администратор может общаться только с ведущими. Ведущие могут сообщать только администратору и их командам. Аудиторы могут общаться с соответствующими руководителями и их пользователями. Пользователи могут общаться только с соответствующими аудиторами.

Теги:
ejabberd
xmpp

3 ответа

1

Одна идея, о которой я думаю, никто раньше не пытался:

  1. Используйте mod_shared_roster для определения разных групп пользователей и команд.
  2. Затем определите различные acl shared_group для каждой группы, см. Https://docs.ejabberd.im/admin/configuration/#acl-definition
  3. Установите mod_filter из ejabberd-contrib и настройте различные группы, чтобы разрешить передачу сообщений другим группам в соответствии с вашим дизайном.

Отказ от ответственности: я не знаю, возможно ли это, и, как я уже сказал, я сомневаюсь, что кто-то это делал раньше, потому что то, о чем я упоминал, использует недавно доступные функции. Если вы попробуете и, наконец, получите его работу, было бы замечательно, если бы вы добавили комментарий, в котором показано, как вы выполнили эту замечательную задачу. Удачи! :)

0

У меня есть аналогичная проблема, которая заключается в том, что я хочу, чтобы мои пользователи могли разговаривать только с людьми в своих соответствующих списках. Таким образом, пользователь A может только пользователь сообщения B, если у пользователя A есть пользователь B, а у пользователя B есть пользователь A в своем списке. Вы знаете, можно ли достичь этого с помощью mod_filter? (Я новичок в ejabberd)

0

Я боюсь, что нет простого способа сделать это - для него нет готовых XMPP XEP. Каждый может отправить сообщение всем.

Вероятно, вы можете просто построить эту логику в своем клиентском приложении. Например, чтобы назначить разные теги (superadmin/admin/lead/) вашим пользователям, а затем решить, перед тем, как болтать, какой тег у обоих пользователей есть и может они обмениваться или нет.

Что касается ролей XMPP - есть только роли в контексте группового чата. https://xmpp.org/extensions/xep-0045.html. Пользователи в групповом чате имеют разные роли/разрешения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню