項目中集成Openfire 整合用戶信息--(01)

整合用戶信息表

         本人在項目中使用的是mysql數據庫。通過修改openfire項目數據庫ofproperty表來達到自定義用戶功能.
  sql:
      
--設置JDBC連接方式
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcProvider.connectionString', 
'jdbc:mysql://localhost:3306/cuoa?user=root&password=123456');

insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcProvider.driver', 'com.mysql.jdbc.Driver');

--設置管理員賬號
insert into OFPROPERTY (NAME, PROPVALUE)
values ('admin.authorizedJIDs', '[email protected]');

--自定義用戶認證
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcAuthProvider.useConnectionProvider', 'true');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcAuthProvider.passwordSQL', 'select ''123456'' as pwd from 
login_user t where t.user_id=?');
insert into OFPROPERTY (NAME, PROPVALUE)
<p>values ('jdbcAuthProvider.passwordType', 'plain');</p>
--自定義用戶管理
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.allUsersSQL', 'select user_id from login_user');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.nameField', 'user_id');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.searchSQL', 'select user_id from login_user t where user_id=?');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.useConnectionProvider', 'true');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.emailField', 'email');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.userCountSQL', 'select count(*) from login_user t');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.loadUserSQL', 'select user_id,user_name,email from user_info where user_id=?');
insert into OFPROPERTY (NAME, PROPVALUE)
values ('jdbcUserProvider.usernameField', 'user_id');

--使用不同的數據源
update OFPROPERTY set 

PROPVALUE='org.jivesoftware.openfire.user.JDBCUserProvider'
where NAME='provider.user.className';
update OFPROPERTY set 

PROPVALUE='org.jivesoftware.openfire.auth.JDBCAuthProvider'
where NAME='provider.auth.className';


執行上面的sql後重啓openfire服務即可。
可能出現的問題:重啓服務後用管理員賬號無法登陸。
解決方法:
1. 確認 ofproperty 表中 admin.authorizedJIDs 已配置管理員賬號。  
2. ofproperty 表中xmpp.domain 值爲ip地址。非計算機名稱。(使用計算機名稱會導致管理員賬號無法登錄)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章