资源描述:
《openfire使用自定义用户表》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1配置demo1、登录到openfire后台管理系统,点开服务器管理器中的系统属性,如下图:2、在这里可以进行openfire系统属性的配置与修改,而这个页面配置的内容保存在openfire数据库中ofproperty表中,可以打开看一下里面的配置后续会解释,是一些openfire的系统设置。3、现在的需要的是使用userID登陆在openfire源码中找到org.jivesoftware.openfire.auth.JDBCAuthProvider,在文件中一开始,我们可以看到:3大概意思就是把provi
2、der.auth.className修改为 org.jivesoftware.openfire.auth.JDBCAuthProvider之后登陆验证就走JDBCAuthProvider的代码,下面还有一些需要配置的参数,规则都有了,进行配置吧。3、根据自己的需要,配置如下:配置完了后,重启openfire,可以登陆(数据库密码是明文的,不是加密过的,加密过得密码验证以后说),但是openfire后台管理系统登陆不进去解决办法:查看ofproperty表中name字段为admin.authorizedJID
3、s的peopValue字段值,格式应为username@‘域名’3,其中username应为表中存在的数据,域名为name字段为xmpp.domain的peopValue字段值,ok现在通过spark与后台管理都可以登陆成功了1脚本例子以下是聊天服务器配置脚本,在数据库openfire实例下运行此脚本即可完成自定义用户表配置。--更改登录验证方式,用JDBC配置的用户表验证,如果无法insert就update原来的provider.auth.classNameinsertintoOFPROPERTY(NAM
4、E,PROPVALUE)values('provider.auth.className','org.jivesoftware.openfire.auth.JDBCAuthProvider');--更改用户查询方式,用JDBC配置的用户表作为聊天服务器用户表,如果无法insert就update原来的provider.user.classNameinsertintoOFPROPERTY(NAME,PROPVALUE)values('provider.user.className','org.jivesoftwa
5、re.openfire.user.JDBCUserProvider');--设置JDBC连接方式insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcProvider.driver','com.mysql.jdbc.Driver');insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcProvider.connectionString','jdbc:mysql://192.168.2.18:3306/openfire?us
6、er=root&password=root');--自定义用户认证insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcAuthProvider.passwordSQL','selectpasswordfromprepress.common_userwhereid=?');--用户表密码加密方式insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcAuthProvider.passwordType','md5');--设置管
7、理员账号insertintoOFPROPERTY(NAME,PROPVALUE)values('admin.authorizedJIDs','2595@192.168.2.18');--用户名@域--自定义用户管理insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcUserProvider.allUsersSQL','selectidfromprepress.common_user');insertintoOFPROPERTY(NAME,PROPVALUE)val
8、ues('jdbcUserProvider.loadUserSQL','selectnick_nameasname,emailfromprepress.common_userwhereid=?');insertintoOFPROPERTY(NAME,PROPVALUE)values('jdbcUserProvider.userCountSQL','selectcount(*)fromprepress.common