如何在 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 负载测试