.Openfire使用LDAP和MYSQL混合认证

2883阅读 2评论2012-09-12 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配置文件:

在 之前加入如下内容:

   
       
org.jivesoftware.openfire.ldap.LdapUserProvider
     
     
org.jivesoftware.openfire.user.DefaultUserProvider
   
 

到此所有配置都配置完成。

三、重启openfire,现在就是基于MYSQL和LDAP混合认证模式了。

    测试,如果某个用户MYSQL和LDAP帐户都有,这个用户两个密码都能通过认证。

另:当openfire进行迁移的时候,注意系统属性里的passwordKey一定要和原来的保持一致,因为加密需要这串加密KEY。

上一篇:利用FreeBSD建立带流量控制的企业网关
下一篇:使用Linux的LVM在不丢失数据的情况下删除正在使用的硬盘或分区

文章评论