目前比較簡單的做法就是通過openfire的插件User Service,我們用C#http請求來獲取用戶列表,返回的是一個xml文件。
插件地址:http://www.igniterealtime.org/projects/openfire/plugins.jsp
安裝插件有兩種方式:
1.直接到官網(wǎng)下載userservice.jar文件,然后通過管理控制平臺上傳插件。
2.直接在管理控制平臺安裝此插件,在插件選項卡里有個“有效的插件”菜單,里邊有很多插件。
一:首先需要安裝openfire的服務(wù)器,包括配置好數(shù)據(jù)庫測試是否可以運行服務(wù)器,以win7為例,到開始菜單找到“Openfire Server”點擊運行,然后點擊“Star”啟動服務(wù)器,再點擊“Laumch Admin”會跳轉(zhuǎn)到管理控制平臺,輸入管理員密碼登錄。如下圖:
二:在管理控制平臺找到選項卡“插件”,里邊有我們需要安裝的一個User Service插件,如果安裝過了會顯示已經(jīng)安裝的哪些插件,沒有安裝,需要點擊左側(cè)菜單“有效的插件”,在列表里找到此插件進行安裝,可能有點慢,稍等即可。如果在有效的插件列表沒有發(fā)現(xiàn)很多的插件,那么你需要重新安裝openfire服務(wù)器或者升級最新版本。
三:在選項卡“服務(wù)器”找到“服務(wù)器設(shè)置”下有個菜單“User Service”,說明安裝插件成功,但是還是需要進行設(shè)置才能通過端口進行訪問,不然無法訪問或者報錯401未授權(quán)等。設(shè)置:Enabled - User service requests will be processed. 啟用、勾選HTTP basic auth - User service REST authentication with Openfire admin account. 如果選擇Secret key auth,那C#寫著太麻煩,通過訪問接口需要傳Secret key的值,否則就是報錯401。
還可以在系統(tǒng)屬性里添加進行設(shè)置接口是否啟用,需要設(shè)置2項值如下圖:
下面就是開始通過C#代碼進行訪問:
至于新增、刪除的接口就不做案例里,你可以通過管理控制平臺查找demo,里邊有介紹如何訪問接口,查看地址:http://127.0.0.1:9090/plugin-admin.jsp?plugin=userservice&showReadme=true&decorator=none
如下圖點擊圖標(biāo)就可以查看此插件的demo: