我正在开发聊天应用程序,我使用ejabberd作为我的项目。我成功安装了ejabberd服务器(16.06)并且在auth方法中表现良好作为内部。但是,当我将auth方法更改为sql时,它无法正常工作。这些是我在ejabberd.yml文件中更改的内容
default_db: sql
auth_method: sql
## ODBC compatible or MSSQL server:
##
sql_type: mssql
sql_server: "Server=azure_server_name;DSN=DB_Name;UID=azure_DB_username;PWD=azure_DB_password"
sql_pool_size: 10
sql_keepalive_interval: 28800
mod_mam:
iqdisc: one_queue
db_type: sql
default: always
我在注册新用户和管理员登录网络管理门户时遇到以下错误
ejabberd_auth:is_user_exists:316 The authentication module ejabberd_auth_sql returned an error
when checking user <<"newuser">> in server <<"localhost">>
Error message: {timeout,{p1_fsm,sync_send_event,[<0.390.0>,{sql_cmd,{sql_query,{sql_query,<<"Q9525209">>,#Fun<sql_queries.9.38301790>,#Fun<sql_queries.10.38301790>,#Fun<sql_queries.11.38301790>,{sql_queries,145}}},3534866},60000]}}
我使用了register命令:
bin&gt; ejabberdctl register&#34; newuser&#34; &#34;本地主机&#34; &#34;密码&#34;
提前致谢。请添加您的想法和建议以解决此问题。
答案 0 :(得分:0)
再次 - 我不是Ejabberd专家 - 我想有人可能会有更多这方面的经验;但是,您似乎对spring.security.ignored=/api/**
感到困惑,我认为这是一个在Ejabberd平台上使用数据库上使用的登录名创建登录的操作。 (或者我误解了你的评论。其中一个。)
您需要在连接字符串中使用Azure SQL数据库中存在的用户名/密码组合。
此外,您可以尝试以下连接字符串:
Register