Как использовать модуль регистрации ejabberd для пользовательского входа

Я новичок в ejabberd и erlang и создал базовое приложение, которое сначала проверяет, есть ли у пользователя логин или нет. Так что в основном он проверяет таблицу входа в систему mnesia и подтверждает это.

Теперь я увидел, что ejabberd также имеет процесс регистрации для пользователей, как вejabberdctl register username host password и я, так как я использовал аутентификацию SQL, я увидел, что есть таблица с именем users в котором хранятся все пользователи и пароль.

Я хотел знать поток последовательности, как эти значения хранятся там, и надеялся использовать его, чтобы выдвинуть эти значения username and password в мою таблицу мнезии для входа в систему.

Я взглянул на руководство разработчика ejabberd и обнаружил, что mod_register обрабатывает регистрацию нового пользователя, но я не мог точно определить, какая функция используется внутри него для выполнения всех процедур.

Я использовал метод записи информационных сообщений в журналы. Кто-нибудь может мне помочь в этом? Заранее спасибо.

1 ответ

ejabberd_auth модуль отвечает за регистрацию пользователя вызов mod_register 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Модуль ejabberd_auth вызывает эти модули в соответствии с настройкой методов аутентификации файла конфигурации ejabberd (внутренние, внешние, odbc и т. д.).

Итак, изучите эти модули и функции, чтобы понять поток регистрации ejabberd.

Образец потока

Другие вопросы по тегам