与三方系统整合。Openfire
下面是opnfire的解决方案
属性名
属性值
描述
provider.auth.className
org.jivesoftware.openfire.auth.DefaultAuthProvider
用户验证
provider.group.className
org.jivesoftware.openfire.group.DefaultGroupProvider
获取组相关数据
provider.user.className
org.jivesoftware.openfire.user.DefaultUserProvider
获取用户相关数据
除了of。配置非常简单只需要
JDBCAuthProvider
属性名
说明
输入值
输出列
属性值
jdbcAuthProvider.passwordSQL
获取用户密码的SQL
登录名
密码
selectpwdfromuserswhereuid=?
jdbcAuthProvider.passwordType
密码类型
JDBCUserProvider
属性名
说明
输入值
输出列
属性值
jdbcUserProvider.allUsersSQL
获取所有用户
用户的uid
selectuidfromusers
jdbcUserProvider.loadUserSQL
获取用户信息
用户uid
用户名,email
selectname,emailfromuserswhereuid=?
jdbcUserProvider.userCountSQL
获取用户数量
用户数量
selectcount(*)fromusers
jdbcUserProvider.usernameField
指定用户登录名的列名
uid
jdbcUserProvider.nameField
指定用户名称的列名
name
jdbcUserProvider.emailField
指定用户email的列名
JDBCGroupProvider
属性名
说明
输入值
输出列
属性值
jdbcGroupProvider.allGroupsSQL
获取所有组的SQL
组名
selectgroupNamefromgroups
jdbcGroupProvider.descriptionSQL
获取组描述
组名
组描述
selectdescriptionfromgroupswheregroupName=?
jdbcGroupProvider.groupCountSQL
获取组的数量
组的数量
selectcount(*)fromgroups
jdbcGroupProvider.loadAdminsSQL
获取组的管理员
组名
组管理员
selectuidfromgroupuserswheregroupName=?andadmin=1
jdbcGroupProvider.loadMembersSQL
获取组的成员
组名
组成员uid
selectuidfromgroupuserswheregroupName=?andadmin=0
jdbcGroupProvider.userGroupsSQL
获取成员的组
成员uid
成员所属组名
selectgroupNamefromgroupuserswhereuid=?
注意:其中获取组的管理员和组的成员中的判断要根据相应系统修改,我这边假设
最后,配置新的管理员用户(应该在users表中添加一个用户作为管理员)
属性名
说明
属性值
admin.authorizedJIDs
指定新数据源中的管理员用户,注意是是完整
admin@192.168.2.104
配置好后,重启Openfire。
使用Openfire就可以看到你数据源中的用户/组信息了。
在修改添加系统属性的过程中,,若无法登录表。
除了以上在控制台修改之外,也可以直接操作ofProperty数据库表
insert into ofproperty( name, propValue) values( 'admin.authorizedJIDs' , 'admin@192.168.2.104');insert into ofproperty( name, propValue) values( 'jdbcAuthProvider.passwordSQL','select pwd from users where name=?'); insert into ofproperty( name, propValue) values( 'jdbcAuthProvider.passwordType' , 'plain'); Insert into ofproperty(name,propValue)values('jdbcProvider.connectionString' 'jdbc:jtds:sqlserver://192.169.1.120 :1433/test_openfire_jcdb;appName=jive;user=sa;password=hytest'); insert into ofproperty( name, propValue) values( 'jdbcProvider.driver' , 'net.sourceforge.jtds.jdbc.Driver' ); insert into ofproperty( name, propValue) values( 'jdbcUserProvider.allUsersSQL', 'select name from users' ); insert into ofproperty( name, propValue) values( 'jdbcUserProvider.emailField' ,'email'); insert into ofproperty( name, propValue) values('jdbcUserProvider.loadUserSQL' ,'select * from users where uid=?'); insert into ofproperty( name, propValue) values( 'jdbcUserProvider.nameField', 'name'); insert into ofproperty( name, propValue) values('jdbcUserProvider.userCountSQL', 'select count(name) from users'); insert into ofproperty( name, propValue) values( 'jdbcUserProvider.usernameField' , 'name' ); UPDATE ofproperty SET propValue ='org.jivesoftware.openfire.auth.JDBCAuthProvider' WHERE NAME='provider.auth.className'; UPDATE ofproperty SET propValue='org.jivesoftware.openfire.user.JDBCUserProvider' WHERE NAME='provider.user.className'; UPDATE ofproperty SET propValue='192.168.2.104' WHERE NAME='xmpp.domain';
欲望以提升热忱,毅力以磨平高山。