OpenFire使用外部用户表认证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## 添加jdbc驱动
   INSERT INTO `ofproperty` VALUES ('jdbcProvider.driver', 'com.mysql.jdbc.Driver');
   ## 指定用户数据库连接
   INSERT INTO `ofproperty` VALUES ('jdbcProvider.connectionString', 'jdbc:mysql://192.168.1.91:3306/yihg_travel_base?user=root&password=test');
   ## 用户登陆认证类
   UPDATE ofproperty SET propValue = 'org.jivesoftware.openfire.auth.JDBCAuthProvider' WHERE `name` = 'provider.auth.className';
   ## 通过用户名查询密码的sql password 是用户表中的密码字段
   INSERT INTO `ofproperty` VALUES ('jdbcAuthProvider.passwordSQL', 'SELECT password FROM im_contacts WHERE user_account= ?');
   ## 密码加密方式 可选:plain(不加密),md5,sha1,sha256,sha512
   INSERT INTO `ofproperty` VALUES ('jdbcAuthProvider.passwordType', 'md5');
   ## 查看用户的类,控制台查看用户/组
   UPDATE ofproperty SET propValue = 'org.jivesoftware.openfire.user.JDBCUserProvider' WHERE `name` = 'provider.user.className';
   ## 查询用户信息
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.loadUserSQL', 'SELECT user_name AS NAME,user_account FROM im_contacts WHERE user_account=?');
   ## 查询用户数量
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.userCountSQL', 'SELECT COUNT(*) FROM user_account');
   ## 查询所有用户
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.allUsersSQL', 'SELECT user_account FROM im_contacts');
   ## 搜索用户
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.searchSQL', 'SELECT user_account FROM im_contacts WHERE');
   ## 指定控制台用户名对应的字段
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.usernameField', 'user_account');
   ## 控制台名称对应的字段
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.nameField', 'name');
   ## 电子邮件对应的字段
   INSERT INTO `ofproperty` VALUES ('jdbcUserProvider.emailField', 'email');



    ## 首先要编辑这几个系统属性。

   

1
2
3
4
5
6
7
xmpp.auth.anonymous true  
xmpp.auth.sharedSecretEnabled true
xmpp.domain im.yihg
xmpp.httpbind.client.requests.polling 0
xmpp.httpbind.client.requests.wait 10
xmpp.session.conflict-limit 0
xmpp.socket.ssl.active false

你可能感兴趣的:(openfire,用户认证)