日期:2014-05-16  浏览次数:20474 次

openfire 整合现有数据库

http://blog.csdn.net/heyi1214/article/details/4218199

openfire扩展小试 整合现有系统用户?

如果我想使用现有系统的用户/组(部门),而不想使用openfire再去管理一套用户/组,用openfire可以非常方便的整合现有系统用户。?

进入openfire管理控制台-服务器-服务管理器-系统属性?
可以发现如下配置?
provider.auth.className?
org.jivesoftware.openfire.auth.DefaultAuthProvider?
*用户验证
provider.group.className?
org.jivesoftware.openfire.group.DefaultGroupProvider?
*获取组相关数据?
provider.user.className?
org.jivesoftware.openfire.user.DefaultUserProvider?
*获取用户相关数据?
这些Provider是openfire默认自己管理用户组?

但同时openfire还提供了支持JDBC相关的Provider,可以从其它的数据源获取用户/组数据?
将上面三个属性分别修改为?
org.jivesoftware.openfire.auth.JDBCAuthProvider?
org.jivesoftware.openfire.group.JDBCGroupProvider?
org.jivesoftware.openfire.user.JDBCUserProvider?

然后,需要配置一下数据源,添加如下属性?
jdbcProvider.driver?
*数据源驱动?
jdbcProvider.connectionString?
*连接字符串?

对每一个JDBC Provider需要配置相关的SQL语句和属性(在系统属性里添加项目)?

JDBCAuthProvider?
jdbcAuthProvider.passwordSQL?
*获取用户密码的SQL?
*输入参数:登录名?
*输入列:密码?
*例:SELECT pwd FROM user WHERE name=??
jdbcAuthProvider.passwordType?
*密码类型可以是:plain(文本),md5,sha1?
*如果你的密码加密不为以上三种 就需要自己提供一个AuthProvider,在下一章会专门介绍?


JDBCGroupProvider?
jdbcGroupProvider.allGroup