`
awdxzc
  • 浏览: 335490 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Openfire 整合自有用户系统

阅读更多

写在前面:openfire的群我们自己实现了持久化的群,所以本文不考虑群方面的用户操作。


本人使用Mysql作为openfire的数据库,自有系统的用户库也是Mysql。需要将openfire的用户全部走自己的业务系统进行授权和验证,所以需要在openfire中进行自有用户数据库的整合。


Let's go ------------------------------------------------



针对用户的验证:openfire提供的默认的处理类是DefaultAuthProvider,需要使用自己的处理类那么就需要修改为JDBCAuthProvider。



需要修改些自己需要验证的配置:



它在控制台会hidden很多比较敏感的配置,具体请参照:
http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-integration-guide.html



不需要修改openfire任何代码,只需要做到这里,基本上就完成了自有数据库验证的整合。重启登录,你会发现admin帐号无法登陆,请确认admin账户在自有数据库是否存在,并且密码加密方式是否正确。一切OK后admin console可以登录。 用spark客户端测试登录正常。


----------------------------------------------------------------------------------

针对用户的检索:openfire提供的默认处理类是DefaultUserProvider,需要使用自己的处理类,不然的话在用户检索那里会发现查询出来的目的库还是openfire自由的数据库用户表ofUser,修改为JDBCUserProvider。




添加一部分需要自己配置的属性:




保存重启,点击用户/组,等啊等,等好久打不开,为什么?查看源代码发现JDBCUserProvider有个地方有问题,查询出了所有的用户,显然和DefaultUserProvider不一样。查看了3.7.1和3.8.1的源代码,这一块都是没有解决的。3.8.2已经修复此BUG。参见下图:



修改:




修改这里代码重新上传openfire.jar,重启。OK。







版权声明]本站内文章,如未特别注明,均系原创或翻译之作,本人保留一切权利。本站原创及译作未经本人许可,不得用于商业用途及传统媒体。网络媒体可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。及此说明,重中之重。
分享到:
评论
1 楼 三里小龙 2013-08-19  
想请教一下,默认provider.user.className = org.jivesoftware.openfire.user.DefaultUserProvider,现在把它改成org.jivesoftware.openfire.user.JDBCUserProvider,然后重启服务器并登录,会报异常:java.lang.UnsupportedOperationException
at org.jivesoftware.openfire.user.JDBCUserProvider.createUser(JDBCUserProvider.jav a:173)
at org.jivesoftware.openfire.auth.JDBCAuthProvider.createUser(JDBCAuthProvider.jav a:404)
at org.jivesoftware.openfire.auth.JDBCAuthProvider.authenticate(JDBCAuthProvider.java,这个是什么原因造成的呢?谢谢~

相关推荐

    openfire扩展整合现有系统用户

    标题中的“openfire扩展整合现有系统用户”是指在Openfire这款开源即时通讯服务器上,将已有的用户系统(如企业内部的LDAP、AD等)与Openfire进行集成,实现用户身份验证和管理的一体化。Openfire是一款基于Java开发...

    [经典]Openfire整合现有用户

    在企业环境中,通常需要将Openfire与现有的用户管理系统进行整合,以便利用已有的用户数据,如LDAP(轻量级目录访问协议)或数据库中的用户信息。本文将详细介绍如何将Openfire与现有的用户资源进行整合,并扩展其...

    openfire整合系统用户

    openfire 用户整合,手把手交你实现。

    OpenFire所有在线用户

    在本文中,我们将深入探讨OpenFire系统及其所有在线用户的管理。 首先,让我们理解"OpenFire所有在线用户"这个标题。这指的是OpenFire服务器上的功能,它能够追踪并显示当前处于在线状态的用户。通过服务器的插件...

    openfire 集成用户数据库

    在企业级即时通讯系统部署过程中,为了确保数据的一致性和提高用户体验,通常会遇到一个关键需求:将Openfire服务器与现有的用户数据库进行集成。这样的集成可以实现统一的用户认证管理、避免数据冗余,并能充分利用...

    openfire插件,用户入群加web接口

    总之,"openfire插件,用户入群加web接口"涉及到的技术点包括Openfire插件开发、Web服务接口设计、Openfire API的使用以及系统安全性和集成测试。通过这样的实现,可以高效地自动化用户入群的过程,提高协作效率。

    openfire mac系统安装文件

    openfire mac系统安装文件 Openfire (formerly Wildfire) is a cross-platform real-time collaboration server based on the XMPP (Jabber) protocol.

    openfire获取所有在线用户插件

    自己写的获取所有在线用户的openfire插件,直接上传到openfire服务器即可使用,访问路径为host:port/plugins/onlines/listall

    基于Openfire服务器的用户行为审计插件设计与实现.pdf

    基于Openfire服务器的用户行为审计插件设计与实现 本文设计和实现了一个基于Openfire服务器的用户行为审计插件,名为actionAuditor。该插件由三个模块组成,能够实现用户行为记录、查询、存储、备份、导出、排序、...

    openfire的用户接收消息计数器

    在Openfire中,实现用户接收消息的计数功能是提升通信效率和监控系统性能的重要一环。本文将深入探讨如何利用"openfire的用户接收消息计数器"这一工具来实现这一目标。 首先,我们要理解计数器的工作原理。计数器...

    openfire集成第三方系统

    openfire集成第三方系统配置,数据库配置方法

    OpenFire集成现在系统用户的ofproperty表信息

    这是一个OpenFire集成Oracle数据库来集成现有系统中的用户管理时的ofproperty表信息

    openfire xmpp协议源码

    在Android开发中,利用Openfire和XMPP协议,可以构建高效、安全的即时通讯系统。 一、Openfire核心特性 1. 可扩展性:Openfire支持插件扩展,可以根据需求添加功能,如群聊、文件传输、用户认证等。 2. 安全性:...

    基于openfire服务器的的IM系统源程序

    "基于openfire服务器的IM系统源程序" 指的是一款即时通讯(IM)系统,它的核心是使用了openfire服务器作为后台服务。Openfire是一款开源、基于XMPP(Extensible Messaging and Presence Protocol)协议的即时通讯...

    openfire_src_3_6_4[1].tar.gz_java openfire_java 聊天系统_openfire sp

    《Openfire:构建高效即时通讯系统的基石》 Openfire,作为一个开源的即时通讯服务器,以其高效、稳定和灵活的特点在IT行业中备受青睐。版本号3.6.4的Openfire源代码包`openfire_src_3_6_4[1].tar.gz`,是Java...

    openfire部署学习资料

    Openfire是一款开源、基于Java的即时通讯服务器,它支持XMPP协议,允许用户进行实时通讯,包括聊天、视频、文件传输等。对于初次接触Openfire部署的用户来说,这两份学习资料将提供宝贵的知识和指引。 一、Openfire...

    openfire+smack即时通讯

    【标题】"openfire+smack即时通讯"指的是利用Openfire服务器和Smack库构建一个实时的在线聊天系统。Openfire是一款开源的、基于XMPP(Extensible Messaging and Presence Protocol)协议的即时通讯服务器,而Smack是...

    即时通信openfire功能代码

    即时通信(Instant Messaging,IM)是一种在线实时交流技术,它允许用户通过互联网进行文本、...如果你想要构建一个自定义的即时通讯系统,或者希望将即时通讯功能整合到已有应用中,这些代码将为你提供宝贵的参考。

    Openfire用户密码加密方式详解

    NULL 博文链接:https://baobeituping.iteye.com/blog/1458842

Global site tag (gtag.js) - Google Analytics