如何在 mongooseim 服务器中从 sql 注册用户名密码字段

Posted

技术标签:

【中文标题】如何在 mongooseim 服务器中从 sql 注册用户名密码字段【英文标题】:How to register username password fields from sql in mongooseim server 【发布时间】:2015-01-10 07:58:05 【问题描述】:

我在我的 localpc 中创建了 2 个帐户,然后在我向 mongooseim 注册后。我可以通过 converseJS 客户端登录 mongooseim。

现在我想从 mysql 表字段(用户名、密码)登录 mongooseim,而不在 localpc 中创建新帐户,简而言之,mongooseim 应该只从 sql-database 验证用户。

【问题讨论】:

【参考方案1】:

在 mongooseim 1.5.0 之后,您可以按照以下说明使用 Mongooseim 设置 MySQL,

您应该创建名为 ejabberd 的数据库,然后 你应该用mysql.sql创建你的表

mysql -h localhost -p -u root

输入你的密码

GRANT ALL ON ejabberd.* TO 'ejabberd'@'localhost'IDENTIFIED BY 'password';

CREATE DATABASE ejabberd;

现在退出mysql

重新创建表

mysql -D ejabberd -h localhost -p -u ejabberd < mysql.sql     

在 ejabberd.cfg 中注释掉 auth_method internal 并激活 auth_method odbc 然后使用您的密码激活 MySQL 服务器设置

%% MySQL server:

%%

odbc_server, mysql, "localhost", 3306, "ejabberd", "ejabberd", "password".

【讨论】:

mysql -D ejabberd -h localhost -p -u ejabberd 你不需要创建mysql表。你的 mysql.sql 在哪里?使用 cd 应用该代码时,您应该更改目录。 哎呀我忘了在这里更新这部分。现在我面临的错误是 erlang-mysql 驱动程序问题,App 无法选择 odbc-related-modules。【参考方案2】:

您应该将您的服务器配置为使用 ejabberd 数据库身份验证。

这是通过模块 ejabberd_auth 与 odbc 一起使用并选择 odbc 类型 MySQL 完成的。

请阅读这部分文档: http://www.process-one.net/docs/ejabberd/guide_en.html#htoc25

【讨论】:

以上是关于如何在 mongooseim 服务器中从 sql 注册用户名密码字段的主要内容,如果未能解决你的问题,请参考以下文章

MongooseIM 可以在 PostgreSQL 后端处理多少用户?

为啥 MongooseIM 会在 60 秒后关闭 websocket 连接?

MongooseIM (websockets) 的 Tsung 负载测试

MongooseIM create_room 命令未知

XMPP 服务器 MongooseIM 是不是可以与 BOSH 或 WebSocket 一起使用?

如何在 Docker 中从 Docker 连接到 SQL Server 服务?