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。 







版权声明]本站内文章,如未特别注明,均系原创或翻译之作,本人保留一切权利。本站原创及译作未经本人许可,不得用于商业用途及传统媒体。网络媒体可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。及此说明,重中之重。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值