gpt4 book ai didi

mysql - 为 MySQL 集成自定义数据库的 Openfire 配置

转载 作者:行者123 更新时间:2023-11-30 22:24:21 27 4
gpt4 key购买 nike

我正尝试在 Ubuntu 上为 MySQL 安装 OpenFire。问题是我无法通过数据库 B 对用户进行身份验证。

这是我需要的配置

1) 数据库 A 用于保存 OpenFire 表。2) 现有数据库 B 包含用户通过 openfire 登录所需的用户信息

遵循自定义数据库集成的 openfire 指南。 https://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-integration-guide.html

如果哪位有类似配置的能成功配置openfire,请帮忙

这里是openfire.xml,xml中提到的所有属性也已经保存在ofProp表中..

<jive> 

<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>

<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://localhost:3306/DBOpenFire?rewriteBatchedStatements=true</serverURL>
<username encrypted="true">200a0b84b1fa2jsdsdjds31c2abf99393c0a31a1de5c734edf</username>
<password encrypted="true">67452fbde9c80636f8486ea43932kksddfdksjdsd0b12284eac45455</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>

<provider>
<auth>
<className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>
</auth>
<user>
<className>org.jivesoftware.openfire.user.JDBCUserProvider</className>
</user>
</provider>

<jdbcProvider>
<driver>com.mysql.jdbc.Driver</driver>
<connectionString>jdbc:mysql://localhost/DBUsers?user=root&amp;password=mypasscode</connectionString>
</jdbcProvider>

<jdbcAuthProvider>
<passwordSQL>SELECT Password from tblUser where UserName=?</passwordSQL>
<passwordType>plain</passwordType>
</jdbcAuthProvider>

<jdbcUserProvider>
<loadUserSQL>SELECT * FROM tblUser where UserName=?</loadUserSQL>
<userCountSQL>SELECT COUNT(*) FROM tblUser</userCountSQL>
<allUsersSQL>SELECT UserName FROM tblUser </allUsersSQL>
<searchSQL>SELECT UserNameFROM tblUser WHERE</searchSQL>
<usernameField>UserName</usernameField>
<nameField>UserName</nameField>
</jdbcUserProvider>
</jive>

的属性值:

jdbcAuthProvider.passwordSQL              SELECT UserPassword from tblUser where UserName=?
jdbcAuthProvider.passwordType plain
jdbcProvider.driver com.mysql.jdbc.Driver
jdbcProvider.connectionString jdbc:mysql://localhost:3306/DBUsers?user=root&password=mypasscode
jdbcUserProvider.loadUserSQL SELECT * FROM tblUser where UserName=?
jdbcUserProvider.userCountSQL SELECT COUNT(*) FROM tblUser
jdbcUserProvider.allUsersSQL SELECT UserName FROM tblUser
jdbcUserProvider.searchSQL SELECT UserName FROM tblUser WHERE
jdbcUserProvider.usernameField UserName
jdbcUserProvider.nameField UserName
jdbcUserProvider.useConnectionProvider true
jdbcAuthProvider.useConnectionProvider true
provider.user.className org.jivesoftware.openfire.user.JDBCUserProvider
provider.auth.className org.jivesoftware.openfire.auth.JDBCAuthProvider
admin.authorizedJIDs admin@example.com

非常感谢!!!

最佳答案

帮不上那几个信息。这是你应该做的。1-检查ubuntu是否包含要连接的mysql驱动。

2-检查与数据库B的连接。

provider.auth.className org.jivesoftware.openfire.auth.JDBCAuthProvider provider.user.className org.jivesoftware.openfire.user.JDBCUserProvider

3-为 JID、电子邮件、JID 数量创建自定义查询

4-为数据库创建自定义查询,以防您使用不明确的密码。

5-如果您想使用外部花名册,请为群组创建自定义查询

仅供引用:在 openfire 管理服务器属性中插入这些查询以避免重新启动服务器。如果出现问题,请从 openfire 的 OfProperty 表中删除该内容。

关于mysql - 为 MySQL 集成自定义数据库的 Openfire 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35718360/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com