如何配置开火以验证来自外部数据库的用户?

Posted

技术标签:

【中文标题】如何配置开火以验证来自外部数据库的用户?【英文标题】:How to configure open fire to authenticate users from external database? 【发布时间】:2016-08-12 14:49:32 【问题描述】:

这是我遇到的最长的线程来解决一个非常简单的问题来验证来自external database in open fire的用户

正确的解决方法是不要更改conf/openfire.xml 中的属性,添加ofProperty 表中提到的here 中的属性

e.g For Authentication Integration 

insert into ofProperty values('provider.auth.className', 'org.jivesoftware.openfire.auth.JDBCAuthProvider');
insert into ofProperty values('jdbcAuthProvider.passwordSQL', 'SELECT password FROM user_account WHERE username=?');
insert into ofProperty values('jdbcAuthProvider.passwordType', 'plain');

停止开火并开始开火。

注意:在 /conf/openfire.xml 中手动更改的所有设置将在 open fire 启动时丢失。

问题:

更改属性后如何登录管理控制台?

openfire 可以从自己的数据库和外部验证用户 数据库也是如此?

【问题讨论】:

【参考方案1】:

首先,避免在 xml 文件或数据库中插入自定义查询。最好的方法是按照文档中的示例在 openfire 的管理面板中添加数据。

要允许您的外部用户登录到管理面板,您必须在 admin.authorizedJIDs 中添加他们的 jabber id

【讨论】:

我还有一个疑问,我已经从远程数据库设置了 userAuthentication,并且我在 openfire 数据库中的用户很少,例如“admin”用户,我可以使用“admin”用户登录还是该用户应该存在在远程数据库中也是如此。 我已经通过直接在数据库中添加属性而不是在管理控制台中添加来验证它是否有效,因为通常管理控制台只能通过访问 127.0.0.1:9090/ url 来打开。如果我错了,请纠正我。 它可能在服务器重启后工作,有缓存选项。

以上是关于如何配置开火以验证来自外部数据库的用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何在spring security中为来自两个不同表的不同用户配置身份验证?

如何在Azure VM上配置IIS站点以接受来自其他外部IP地址的请求?

如何配置 Thorntail 2.5.0.Final 以使用来自 Keycloak 的 JWT 令牌授权用户?

如何配置 ActiveMQ 以将“匿名”用户和角色分配给未经身份验证的用户

如何配置 AWS 用户 cognito 身份验证流程以在 Java sdk 后端生成身份令牌、访问令牌?

如何以clang格式创建外部标题的类别?