ejabberd中的用户存储

时间:2018-07-19 12:54:06

标签: ejabberd

我正在尝试将ejabberd设置为我的项目的IM解决方案,该解决方案将是移动应用程序+后端。我正在使用SQL身份验证(以及所有模块的SQL存储),并通过ODBC使用MSSQL。我有一些在文档中找不到答案的问题。

  1. 我是否正确理解ejabberd是多租户(因为它可以支持多个域)。如果是这样,如何将用户分配给特定的租户(域)?在数据库的users表中,只有用户名(没有域部分)。我可以有两个不同的用户john@jabber.myproject.comjohn@jabber.myotherproject.net吗?
  2. 我想在ejabberd上自动创建XMPP帐户(用户不需要了解底层服务)-我需要通过API注册用户,还是可以将行直接插入数据库表users中,ejabberd会可以吗?

1 个答案:

答案 0 :(得分:1)

  

在DB的users表中,只有用户名(没有域部分)。我可以有两个不同的用户john@jabber.myproject.com和john@jabber.myotherproject.net吗?

为每个虚拟主机创建一个新数据库,并使用ejabberd.yml中的host_config选项来告诉每个虚拟主机要使用哪个数据库:

https://docs.ejabberd.im/admin/configuration/#database-and-ldap-configuration

或者您可以启用新的SQL模式,请参见https://blog.process-one.net/ejabberd-18-03/

  

我需要通过API注册用户,还是可以直接将行插入数据库表用户,而ejabberd可以吗?

两者都是可以接受的。在第二种情况下,服务器中可能缺少在帐户注册时执行的某些任务,但是我不记得有任何模块在帐户注册时执行任何任务。所以,看起来还可以。

相关问题