在现有web服务下部署openfire并整合用户的方案 - mindpin/knowledge-space-net-lib GitHub Wiki
手头已经有一个部署好的web服务,web服务里已经有若干个原来已有的用户。
原来用户的密码是加密的,取不到原文。
部署一个openfire服务,该服务部署好之后,可以通过原来的web服务的已有用户名密码登录。
并且在web服务里注册新用户时,该新注册的用户也可以使用他的用户名和密码登录openfire。
-
下载 openfire 安装包,按照 openfire how-to 安装 openfire,并完成相应的数据库,用户密码等的初始化设置.
-
安装路径一般会在 /usr/local/openfire 目录下,请确保文件权限,目的是自己开发的jar包可以读取其它目录下面的文件内容.
-
通过 openfire web 管理界面,将 服务器 -> 系统属性 下面的 provider.auth.className 属性值修改成 org.jivesoftware.openfire.auth.MyAuthProvider , 同时将 json.jar, httpclient.jar, httpcore.jar 放在 /usr/local/openfire/lib 目录下,目的是 MyAuthProvider 的运行需要依赖这三个库, 也可从 openfire 源码的 kraken 插件的lib目录下获取.
-
接下来有两种做法,一种 (按步骤 5, 6, 7进行) 是搭建好开发环境,修改 authenticate 方法,自己打包成jar, 另一种 (按 8 步骤) 是自己下载现成的 jar 包
-
为了可以开发自己的 authenticate 方法,根据 WEB整合 方案二部分 搭建好相应的开发环境.
-
下载 MyAuthProvider , 通过 Eclipse 导出 jar , 在这里保存成 myauth.jar , 将该jar包复制到 /usr/local/openfire/lib 目录
-
url xml 文件 , 将该文件放到 /usr/local/openfire/conf , 主要是用于存放 web server 的登录URL
-
直接下载 MyAuthProvider.jar 放到 /usr/local/openfire/lib 下面, 同时下载 url xml 文件 , 将该文件放到 /usr/local/openfire/conf .
-
关于 web-auth-server-conf.xml 文件, 有几个需要说明的:
文件示例
<?xml version="1.0"?>
<config>
<auth_url>http://4ye-evaluation.mindpin.com/account/sign_in</auth_url>
<login_param>user[login]</login_param>
<password_param>user[password]</password_param>
</config>
文件名不可更改
参数只有三个
auth_url: 用于存放登录URL链接
login_param: 登录表单的用户名 name 值
password_param: 登录表单的密码 name 值
-
源码插件开发: 添加联系人, 或者 直接下载联系人 jar 包
-
源码插件开发: 聊天记录,或者 直接下载聊天记录 jar 包, 需要特别注意的是该插件依赖于 monitoring
-
更新 github 客户端代码
-
找到 Constants 文件,修改 host 地址
所有的请求地址信息配置文件化,不要硬编码在java里。
自己编译的新class,打包到openfire的发布包里。部署的时候不要用openfire源码来部署。