openfire 開源即時訊息擴充套件篇之自定義資料來源

2021-09-01 18:11:07 字數 2501 閱讀 6486

本文件提供了指示為整合openfire身份驗證、使用者和組與您的自定義資料庫表。這是有用,當您的使用者已經有賬戶在乙個外部系統,你不希望重複這些賬戶在openfire。簡單的整合與定製資料庫允許使用者身份驗證使用他們現有的使用者名稱和密碼。您可以載入使用者配置檔案配置openfire和組資訊從您的自定義資料庫。具體的步驟如下:

1:資料來源配置

你需要指定資料來源連線驅動和連線url.需要寫在openfire/src/conf/openfire.xml

...

com.mysql.jdbc.driver

jdbc:mysql://localhost/dbname?user=username&password=secret

...

2:認證整合

你需要指定認證類,openfire提供了org.jivesoftware.openfire.auth.jdbcauthprovider類

...

org.jivesoftware.openfire.auth.jdbcauthprovider

select password from user_account where username=?

plain

...

其中jdbcauthprovider.passwordtype 支援以下型別:

plain

md5sha1

sha256

sha512

3:使用者資訊整合

你需要指定使用者資訊載入類,openfire提供了org.jivesoftware.openfire.user.jdbcuserprovider類。完整的配置:

...

org.jivesoftware.openfire.auth.jdbcauthprovider

org.jivesoftware.openfire.user.jdbcuserprovider

select password from user_account where username=?

plain

select name,email from myuser where username=?

select count(*) from myuser

select username from myuser

select username from myuser where

username

name

email

...

4:使用者組資訊整合

你需要指定使用者資訊載入類,openfire提供了 org.jivesoftware.openfire.group.jdbcgroupprovider類。完整的配置:

...

org.jivesoftware.openfire.auth.jdbcauthprovider

org.jivesoftware.openfire.user.jdbcuserprovider

org.jivesoftware.openfire.group.jdbcgroupprovider

select password from user_account where username=?

plain

select name,email from myuser where username=?

select count(*) from myuser

select username from myuser

select username from myuser where

username

name

email

select count(*) from mygroups

select groupname from mygroups

select groupname from mygroupusers where username=?

select groupdescription from mygroups where groupname=?

select username from mygroupusers where groupname=? and isadmin='n'

select username from mygroupusers where groupname=? and isadmin='y'

...

5:備註:

在openfire/src/conf/openfire.xml檔案中配置好後,需要重置設定openfire安裝步驟。在設定安裝步驟之前,需要對安裝值進行更改,開啟檔案openfire/src/web/setup/setup-profile-settings.jsp找到:

if ("default".equals(mode))
把相應的:provider.auth.classname,provider.user.classname,provider.group.classname三個屬性更改為上面你配置的相應類。然後重新開啟openfire進行登入http://localhost:9090/跳轉到設定。設定成功後,就ok了

Android即時訊息介紹

從安全角度考慮,開發者在 android sdk 1.0 版中訪問 gtalk im 服務受到了限制。因此,這一章節中描述的功能對於開發者來說,如果使用 android sdk 1.0 將無法進行嘗試。與其刪除受到影響的章節,不如把它們留在這裡。對於將來的 android 釋放版本,有可能成為使用的...

即時訊息技術剖析與實戰

網路 訊息佇列,快取,資料庫,加密等。賬號 聯絡人,關係 會話,訊息 im 系統 客戶端 接入服務,業務處理服務,儲存服務,外部介面服務。接入服務 接入層 連線保持,協議解析,會話維護,訊息推送,編譯碼 protobuf 業務處理服務 業務層 訊息儲存,未讀數變更,最近聯絡人 儲存服務 賬號資訊,關...

金蝶EAS,訊息中心,即時訊息,傳送通知

業務場景 用於在金蝶eas客戶端訊息中心中的即時訊息。通過 可以給特定使用者傳送通知訊息,使用者登入系統後在訊息中心可以檢視到。系統通知,用於後台 param ctx 上下文 param sender 傳送人 使用者名稱 param title 訊息標題 param body 訊息內容 param ...