openfire整合外部数据库
1、openfire整合已有数据库,编辑ofproperty表,(myuser为外部数据库名称,muser为外部用户表名称)
jdbcAuthProvider.passwordSQL SELECT password FROM muser WHERE username=?
jdbcAuthProvider.passwordType plain/md5
jdbcProvider.connectionString jdbc:mysql://127.0.0.1:3306/myuser?user=root&password=SeekMeiMei
jdbcProvider.driver com.mysql.jdbc.Driver
jdbcUserProvider.allUsersSQL SELECT username FROM muser
jdbcUserProvider.emailField email
jdbcUserProvider.loadUserSQL SELECT name,email FROM muser WHERE username=?
jdbcUserProvider.nameField name
jdbcUserProvider.searchSQL SELECT username FROM muser WHERE
jdbcUserProvider.userCountSQL SELECT COUNT(*) FROM muser
jdbcUserProvider.usernameField username
provider.auth.className org.jivesoftware.openfire.auth.JDBCAuthProvider
provider.user.className org.jivesoftware.openfire.user.JDBCUserProvider
官网详细介绍(http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/db-integration-guide.html)
整合用户组
provider.group.className : org.jivesoftware.openfire.group.DefaultGroupProvider
jdbcGroupProvider.allGroupsSQL : SELECT sn FROM department
jdbcGroupProvider.descriptionSQL : SELECT name FROM department where sn=?
jdbcGroupProvider.groupCountSQL : SELECT count(sn) FROM department
jdbcGroupProvider.loadAdminsSQL : SELECT admin FROM department where sn=?
jdbcGroupProvider.loadMembersSQL : SELECT usersn FROM department_user where departmentsn=?
jdbcGroupProvider.userGroupsSQL : SELECT departmentsn FROM department_user where usersn=?
//设置默认值
provider.admin.className org.jivesoftware.openfire.admin.DefaultAdminProvider
provider.group.className org.jivesoftware.openfire.group.DefaultGroupProvider
provider.lockout.className org.jivesoftware.openfire.lockout.DefaultLockOutProvider
provider.securityAudit.className org.jivesoftware.openfire.security.DefaultSecurityAuditProvider
provider.vcard.className org.jivesoftware.openfire.vcard.DefaultVCardProvider