我正在尝试将Openfire与我使用Mysql工作台创建的自定义sql数据库连接起来。
我修改了openfire.xml文件如下:
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://localhost:3306/openfire_db?rewriteBatchedStatements=true</serverURL>
<username encrypted="true">c130d8786ef86071bcb73f1d8da0eb34f544f389f480f60e</username>
<password encrypted="true">f15df01c5d651451f5f38c29332cf655ff1621d7c0e741ec</password>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>true</setup>
<jdbcProvider>
<driver>com.mysql.jdbc.Driver</driver>
<connectionString>jdbc:mysql://localhost/openfire_db?user=root&password=hello</connectionString>
</jdbcProvider>
<provider/>
<jdbcAuthProvider>
<passwordSQL>SELECT plainPassword FROM users WHERE username=?</passwordSQL>
<passwordType>plain</passwordType>
</jdbcAuthProvider>
<jdbcUserProvider>
<loadUserSQL>SELECT name,email FROM users WHERE username=?</loadUserSQL>
<userCountSQL>SELECT COUNT(*) FROM users</userCountSQL>
<allUsersSQL>SELECT username FROM users</allUsersSQL>
<searchSQL>SELECT username FROM users WHERE</searchSQL>
<usernameField>username</usernameField>
<nameField>name</nameField>
<emailField>email</emailField>
</jdbcUserProvider>
</jive>我没有错误,没有警告。但是,当我尝试登录到管理控制台时,我得到:
登录失败:确保你的用户名和密码是正确的,你是管理员或版主。
并在警告中:
2015.01.28 11:31:20 org.jivesoftware.admin.LoginLimitManager -用户从127.0.0.1登录失败
我的数据库表中有列:用户名、plainPassword、encryptedPassword、name、email、creationDate
谢谢..:)
发布于 2015-01-28 10:12:19
问题解决了,^_^.我需要在openfire.xml中添加以下内容:
<provider>
<auth>
<className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>
</auth>
<user>
<className>org.jivesoftware.openfire.user.JDBCUserProvider</className>
</user>
<group>
<className>org.jivesoftware.openfire.group.JDBCGroupProvider</className>
</group>
</provider>以及更改ofProperty表的属性。
https://stackoverflow.com/questions/28188764
复制相似问题