如何在Ejabberd中启用基于角色的用户聊天

时间:2018-10-11 07:14:06

标签: javascript xmpp ejabberd

如何在Web应用程序中实现基于角色的聊天系统。 例如。 SuperAdmin可以与组织中的任何人进行通信。 管理员只能与潜在客户沟通。 潜在客户只能与Admin及其团队沟通。 审核员可以与各自的潜在客户及其团队用户进行沟通。 用户只能与各自的审核员进行沟通。

3 个答案:

答案 0 :(得分:1)

一个我猜没人尝试过的想法:

  1. 使用mod_shared_roster定义不同的用户组和团队。
  2. 然后为每个组定义不同的 acl shared_group ,请参见https://docs.ejabberd.im/admin/configuration/#acl-definition
  3. 安装mod_filter from ejabberd-contrib,然后将不同的组配置为仅允许根据您的设计向其他组发送消息。

免责声明:我不知道是否有可能,正如我所说,我怀疑有人以前这样做过,因为我提到的内容使用了最近可用的功能。如果您尝试最终使它工作,那么在此处添加注释以表明您是如何完成这项伟大任务的,那就太好了。祝好运! :)

答案 1 :(得分:0)

恐怕没有简单的方法可以完成-没有任何现成的XMPP XEP。每个人都可以向每个人发送消息。

可能您可以仅在客户端应用程序中构建此逻辑。例如。将不同的标签(superadmin / admin / lead /)分配给您的用户,然后在聊天之前确定两个用户都拥有什么标签以及他们是否可以交流。

关于XMPP角色-在群聊中只有角色。 https://xmpp.org/extensions/xep-0045.html。群聊中的用户具有不同的角色/权限。

答案 2 :(得分:0)

我确实有一个类似的问题,那就是我希望我的用户只能与各自花名册中的人交谈。因此,如果两个用户A都有用户B,并且用户B的名册中有用户A,则用户A只能向用户B发送消息。您知道是否可以使用mod_filter来实现? (我对ejabberd相当陌生)