0

我是ejabberd和erlang的新手,并且已经创建了一个基本应用程序,首先检查用户是否已登录。所以基本上它检查登录mnesia表并确认这一点。如何使用ejabberd注册模块进行自定义登录

现在我看到ejabberd也有用户注册过程,如ejabberdctl register username host password和我自从我使用sql认证时,我看到有一个名为users的表,它拥有所有用户和密码存储。

我想知道如何将这些值存储在那里,并希望用它来推动这些值username and password到我的mnesia表登录顺序的流程。

我看了一下ejabberd开发者指南,发现mod_register处理新用户的注册,但我无法准确地追踪到哪里使用了哪个函数来完成所有的程序。

我正在使用将信息消息写入日志的方法。 有人能帮助我吗? 在此先感谢。

+0

更具体我检查,每当我注册的命令行的新用户,然后我不能够跟踪mod_register的存在,但如果我使用一个客户端(洋泾浜),那么我可以看到mod_register被称为。任何人都不知道为什么会发生这种情况。 –

回答

0

ejabberd_auth模块是承担一切用户注册mod_register呼叫ejabberd_auth:try_register/3功能和ejabberd_auth:try_register/3呼叫这些模块(ejabberd_auth_sqlejabberd_auth_riakejabberd_auth_mnesiaejabberd_auth_externalejabberd_auth_anonymousejabberd_auth_pam)。这些模块还具有功能try_register/3。模块ejabberd_auth根据ejabberd配置文件auth方法(内部,外部,odbc等)的设置调用这些模块。

因此,研究这些模块和功能,以了解ejabberd注册的流程。

Sample flow

+0

谢谢你的回复,这很有帮助。 –