我是ejabberd和erlang的新手,我已经创建了一个基本的应用程序,它首先检查用户是否已经登录。所以基本上它会检查登录的记忆体表并确认这一点。
现在,我看到ejabberd也有一个用户注册过程,就像在ejabberdctl register username host password中一样,因为我使用的是sql身份验证,所以我看到有一个名为users的表,其中存储了所有用户和密码。
我想知道这些值如何存储在那里的顺序流,并希望使用它来将username and password的这些值推送到我的记忆体表中以供登录。
我看了一下ejabberd开发人员指南,发现mod_register处理新用户的注册,但我无法准确地追踪到它内部使用了什么函数来完成所有过程。
我使用了将info消息写入日志的方法。有人能帮我解决这个问题吗?提前谢谢。
发布于 2017-04-14 16:39:17
ejabberd_auth模块负责用户注册和调用ejabberd_auth:try_register/3函数,ejabberd_auth:try_register/3调用这些模块(ejabberd_auth_sql、ejabberd_auth_riak、ejabberd_auth_mnesia、ejabberd_auth_external、ejabberd_auth_anonymous和ejabberd_auth_pam)。这些模块还有函数try_register/3.The模块,ejabberd_auth根据ejabberd配置文件的设置来调用这些模块的身份验证方法(内部,外部,odbc等)。
因此,研究这些模块和功能可以了解ejabberd注册的流程。

https://stackoverflow.com/questions/43386383
复制相似问题