【问题标题】:User storage in ejabberdejabberd 中的用户存储
【发布时间】:2018-07-23 14:28:44
【问题描述】:

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

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

【问题讨论】:

    标签: ejabberd


    【解决方案1】:

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

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

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

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

    我需要通过 API 注册用户,还是可以直接在 DB 表用户中插入行,ejabberd 就可以了吗?

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

    【讨论】:

    • 谢谢。由于我使用的是 MSSQL 并且没有“mssql.new.sql”,因此我现在将使用每个域的单独数据库。也许我会为新架构更新 MSSQL 创建拉取请求。
    猜你喜欢
    • 2015-05-28
    • 2015-08-07
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2016-09-07
    • 2015-10-08
    相关资源
    最近更新 更多