分类: 系统运维
2013-01-29 17:55:24
原文地址:.Openfire使用LDAP和MYSQL混合认证 作者:iceblood
作者:iceblood(刘宏光)
今天测试完这个,心情比较舒畅,也没啥心思吃饭了,就先写下这篇文章作为记录,因为真的太珍贵了,Openfire虽然支持混合认证,但是他自己的网站我一直都没找到解决方案,今天到处逛才找到该方案,并且测试成功,因此才觉得很是珍贵。
情况介绍,公司目前使用的Openfire使用Mysql认证,之前花了一个多月将公司电子邮件、文件服务器、CVS、Bugzilla,VPN这些重要服务集成到公司的AD域内,只剩下一个openfire没有集成,其实这个问题在我的脑子里已经存了半年都没解决。只是之前公司没有做这样的集成验证,现在所有服务都集成进去了,剩下个openfire独立认证,实在是一件让人心痒痒的事情。于是终于找到了资料,并在此进行记录。
一、首先正常安装openfire,并且设置为LDAP的AD模式认证。(文章太多,这里不介绍了)
二、正式开始修改配置,进入配置界面,在“服务器系统管理”-》“系统属性”修改两个变量:
provider.auth.className | 修改为:org.jivesoftware.openfire.auth.HybridAuthProvider |
provider.user.className | 修改为:org.jivesoftware.openfire.user.HybridUserProvider |
新增4个变量,如下:
hybridAuthProvider.primaryProvider 设置为: | org.jivesoftware.openfire.auth.DefaultAuthProvider |
hybridAuthProvider.primaryProvider.className 设置为: | org.jivesoftware.openfire.auth.DefaultAuthProvider |
hybridAuthProvider.secondaryProvider 设置为: | org.jivesoftware.openfire.ldap.LdapAuthProvider |
hybridAuthProvider.secondaryProvider.className 设置为: | org.jivesoftware.openfire.ldap.LdapAuthProvider |
修改openfire.xml配置文件:
在 之前加入如下内容:
|
|
|
到此所有配置都配置完成。
三、重启openfire,现在就是基于MYSQL和LDAP混合认证模式了。
测试,如果某个用户MYSQL和LDAP帐户都有,这个用户两个密码都能通过认证。
另:当openfire进行迁移的时候,注意系统属性里的passwordKey一定要和原来的保持一致,因为加密需要这串加密KEY。