`
ssxxjjii
  • 浏览: 950885 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

openfire 整合现有数据库

    博客分类:
  • IM
 
阅读更多

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服务器与现有的用户数据库进行集成。这样的集成可以实现统一的用户认证管理、避免数据冗余,并能充分利用...

    [经典]Openfire整合现有用户

    在企业环境中,通常需要将Openfire与现有的用户管理系统进行整合,以便利用已有的用户数据,如LDAP(轻量级目录访问协议)或数据库中的用户信息。本文将详细介绍如何将Openfire与现有的用户资源进行整合,并扩展其...

    openfire扩展整合现有系统用户

    标题中的“openfire扩展整合现有系统用户”是指在Openfire这款开源即时通讯服务器上,将已有的用户系统(如企业内部的LDAP、AD等)与Openfire进行集成,实现用户身份验证和管理的一体化。Openfire是一款基于Java开发...

    openfire数据库表结构

    Openfire 数据库表结构详解 Openfire 是一个流行的即时通信服务端,使用数据库来存储数据。了解 Openfire 数据库的表结构是非常重要的,因为它可以帮助开发者更好地理解和使用 Openfire。 Openfire 数据库表结构...

    openfire 数据库字典

    openfire自带数据库的字典,详细展示数据库的每个表的结构,并备注了每个字段的含义,对开发者有很好的帮助。

    openfire 数据库 数据库字典。

    数据库字典,想了解的朋友。这个真的不错。openfire再次开发必备资料。

    openfire整合系统用户

    openfire 用户整合,手把手交你实现。

    Openfire在使用MySQL数据库后的中文乱码问题解决.docx

    Openfire 是一款基于 Java 开发的即时通讯(IM)服务器,它支持跨平台运行,并且可以与多种数据库系统集成,包括 MySQL 和 Oracle。在使用 MySQL 作为数据存储时,Openfire 用户经常遇到一个常见的问题,那就是中文...

    Openfire数据库架构指南(英文原版与中文翻译版)

    **Openfire数据库架构指南** Openfire是一款开源的即时通讯服务器,它基于XMPP协议,用于构建实时通信系统。本文将深入探讨Openfire的数据库架构,包括其设计原理、表结构和字段含义,以便理解Openfire如何存储和...

    openfire数据库模式指南

    openfire数据库模式指南,列出了其所有数据库表结构及说明

    openfire 脚本文件

    openfire 脚本文件

    如何安装配置Openfire for苹果

    5. 选择数据库:在下一个页面,Openfire提供了一个内置的数据库选项,对于初次安装,建议选择“嵌入的数据库”。点击“继续”。 6. 保持默认设置:如果对数据库配置不熟悉,可以保留默认的“初始设置”,这将使用...

    openfire聊天记录插件(含有数据库脚本)

    如果你的Openfire服务器配置了其他类型的数据库(如PostgreSQL、Oracle等),你可以参照MySQL脚本的模式来创建相应的表结构,因为大多数SQL方言都支持类似的创建表的语法。 在部署此插件时,首先,你需要确保你的...

    Openfire配置

    具体来说,需要在MySQL数据库中创建一个名为openfire的数据库,并导入Openfire提供的数据库脚本。虽然官方文档建议导入自带的数据库脚本,但经过实践证明,仅需要在MySQL中创建一个新数据库即可,因为Openfire会在...

    org.xmpp.packet.JID

    在使用android openfire 作为IM服务的时候 利用第三方账号 如果第三方账号中含有@符号的话 登录会报错 可以利用这个代码进行...然后传递到openfire 在查询数据库之前进行解析 这是在openfire的源代码中找出来 [更多]

    openfire的相关资源

    在"Openfire服务端源代码开发配置指南 micmiu - 软件开发+生活点滴.htm"这篇文档中,详细介绍了如何安装Openfire,包括数据库的设置、管理员账号创建和服务器的启动。 二、源码开发与配置 如果你计划对Openfire进行...

    OpenFire集成现在系统用户的ofproperty表信息

    这是一个OpenFire集成Oracle数据库来集成现有系统中的用户管理时的ofproperty表信息

    Openfire集群正确配置

    4. 数据库:Openfire支持多种数据库,如MySQL、PostgreSQL等,集群配置中通常需要共享同一数据库实例。 5. 网络环境:服务器之间需要能够互相访问,且网络延迟较低。 二、安装openfire 1. 下载Openfire安装包,根据...

    openfire缺少的jar包合集

    2. **数据库连接驱动**:Openfire支持多种数据库,如MySQL、PostgreSQL等,对应的数据库连接驱动jar包是必须的,用于建立和管理数据库连接。 3. **认证与授权库**:Openfire支持LDAP、JDBC等多种认证机制,对应的...

Global site tag (gtag.js) - Google Analytics