ejabberd 中的用户存储
User storage in ejabberd
我正在尝试将 ejabberd 设置为我的项目的 IM 解决方案,这将是移动应用程序 + 后端。我正在使用 SQL auth(并且 SQL store 也适用于所有模块),通过 ODBC 使用 MSSQL。我有一些问题没有在文档中找到答案。
- 我的理解是否正确,ejabberd 是多租户的(因为它可以支持多个域)。如果是这样,如何将用户分配给特定租户(域)?在数据库中的
users
table 中,只有用户名(没有域部分)。我可以有两个不同的用户 john@jabber.myproject.com
和 john@jabber.myotherproject.net
吗?
- 我想在 ejabberd 上自动创建 XMPP 帐户(用户不需要了解任何底层服务)- 我需要通过 API 注册用户,还是可以直接将行插入数据库 table
users
和 ejabberd 可以吗?
In users table in DB, there is only username (without domain part). Can I have two different users john@jabber.myproject.com and 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/
do I need to register users via API, or can I insert rows directly into DB table users and ejabberd will be OK with it?
两者都可以接受。在第二种情况下,您的服务器中可能缺少在帐户注册时执行的某些任务,但我不记得在帐户注册时执行任何任务的任何模块。所以,看起来还可以。
我正在尝试将 ejabberd 设置为我的项目的 IM 解决方案,这将是移动应用程序 + 后端。我正在使用 SQL auth(并且 SQL store 也适用于所有模块),通过 ODBC 使用 MSSQL。我有一些问题没有在文档中找到答案。
- 我的理解是否正确,ejabberd 是多租户的(因为它可以支持多个域)。如果是这样,如何将用户分配给特定租户(域)?在数据库中的
users
table 中,只有用户名(没有域部分)。我可以有两个不同的用户john@jabber.myproject.com
和john@jabber.myotherproject.net
吗? - 我想在 ejabberd 上自动创建 XMPP 帐户(用户不需要了解任何底层服务)- 我需要通过 API 注册用户,还是可以直接将行插入数据库 table
users
和 ejabberd 可以吗?
In users table in DB, there is only username (without domain part). Can I have two different users john@jabber.myproject.com and 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/
do I need to register users via API, or can I insert rows directly into DB table users and ejabberd will be OK with it?
两者都可以接受。在第二种情况下,您的服务器中可能缺少在帐户注册时执行的某些任务,但我不记得在帐户注册时执行任何任务的任何模块。所以,看起来还可以。