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.allGroupsSQL
*获取所有组的SQL
*输入参数:无
*输出列:组的KEY
*例:SELECT sn FROM department
jdbcGroupProvider.descriptionSQL
*获取组的名称(描述)
*输入参数:组记录的KEY
*输出列:组的名称(描述)
*例:SELECT name FROM department where sn=?
jdbcGroupProvider.groupCountSQL
*获取组的数量
*输入参数:组的KEY
*输出列:组的数量
*例:SELECT count(sn) FROM department
jdbcGroupProvider.loadAdminsSQL
*获取组的管理员
*输入参数:组记录的KEY
*输出列:组管理员的KEY
*例:SELECT admin FROM department where sn=?
jdbcGroupProvider.loadMembersSQL
*获取组的成员
*输入参数:组的KEY
*输出列:组成员的KEY(集合)
*例:SELECT usersn FROM department_user where departmentsn=?
jdbcGroupProvider.userGroupsSQL
*获取成员的组
*输入参数:成员的KEY
*输出列:成员所性组的KEY
*例:SELECT departmentsn FROM department_user where usersn=?
JDBCUserProvider
jdbcUserProvider.allUsersSQL
*获取所有用户
*输入参数:无
*输出列:用户的KEY
*例:SELECT sn from user
jdbcUserProvider.userCountSQL
*获取所有用户数量
*输入参数:无
*输出列:用户数量
*例:SELECT count(sn) from user
jdbcUserProvider.loadUserSQL
*获取用户信息
*输入参数:用户的KEY
*输出列:登录名,名称,email(至少应该这三列,下面要用到)
*例:SELECT loginname,name,email from user where sn =?
jdbcUserProvider.emailField
*指定用户email的列名如:email
jdbcUserProvider.nameField
*指定用户名称的列名如:name
jdbcUserProvider.usernameField
*指定用户登录名的列名如:loginname
最后 还需要配置新的管理员用户
admin.authorizedJIDs
*指定新数据源中的管理员用户注意是是完整JID(user@域名)
*例:admin@server.cn
配置好如上属性 重启openfire
使用admin.authorizedJIDs中的用户名登录openfire管理控制台
如果配置成功,进入openfire管理控制台-用户/组
就可以看到你数据源中的用户/组信息了
同时可以使用spark登录进行测试
此外,如果在调试过程中出现问题 无法登录openfire管理控制台
可以直接修改openfire数据库中的 OFPROPERTY表
相关推荐
实现openfire与用户数据库集成 实现用户认证、用户查询
[经典] Openfire SPARK 整合 扩展用户 用户组
NULL 博文链接:https://linfengsheng.iteye.com/blog/1343814
openfire自带数据库的字典,详细展示数据库的每个表的结构,并备注了每个字段的含义,对开发者有很好的帮助。
数据库字典,想了解的朋友。这个真的不错。openfire再次开发必备资料。
openfire 用户整合,手把手交你实现。
详细列出了即时通信服务端openfire数据库的表结构,包括表名字段名,字段属性,主外键等等
openfire 脚本文件
openfire数据库模式指南,列出了其所有数据库表结构及说明
Openfire在使用MySQL数据库后的中文乱码问题解决.docx
在使用android openfire 作为IM服务的时候 利用第三方账号 如果第三方账号中含有@符号的话 登录会报错 可以利用这个代码进行...然后传递到openfire 在查询数据库之前进行解析 这是在openfire的源代码中找出来 [更多]
这是一个OpenFire集成Oracle数据库来集成现有系统中的用户管理时的ofproperty表信息
如何安装配置Openfire for苹果
openfire聊天记录插件,含有mysql脚本,安装插件前现根据提供的mysql脚本建个表(其他数据库可根据mysql的样式自己建,很简单)
openfire3.10.2源码所缺少的10个jar包(注:包含其它缺少的包,共10个包,且包含整个配置的全过程,直到运行成功) 讲述Openfire3.10beta版源码在eclipse上部署编译的全过程,直到编译且运行通过。 包有:pack200...
-bash-4.1$ cd /usr/local/openfire/bin -bash-4.1$ ./openfire stop 2.找到openfire配置文件 [root@openfire.clvn.com.cn ~]# cd /usr/local/openfire/conf/ [root@openfire.clvn.com.cn conf]# ls ...
本是为了给项目组成员开发使用而纯个人翻译的openfire数据库架构,添加了一些网上搜到的Openfire的资料进行字段解释
介绍了openfire的数据库结构及工作流程以及插件开发。
openfire 3.9.3源码导入eclipse进行二次开发或学习所需要的包!
Openfire最主要的功能是实现XMPP服务器,Openfire的核心功能可以概括为:连接管理、消息解析、消息路由、消息发送.