openfire使用自定义用户表
转自:http://blog.csdn.net/nomousewch/article/details/7546083
在最近的项目中使用openfire服务器实现消息推送功能,如果使用openfire自带的用户表,需要维护两张用户表,不是很方便,如果openfire能够直接使用现有系统的用户表就方便多了,而事实上openfire已经为我们考虑到了这一点,我们只需要做一些相关配置就可以了。
- 原理
- 具体配置
进入openfire管理控制台-服务器-服务管理器-系统属性
增加以下键值对,或者在数据库中直接更新数据表
- --设置JDBC连接方式
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcProvider.connectionString',
- 'jdbc:oracle:thin:@10.35.246.178:1521:orcl');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcProvider.driver', 'oracle.jdbc.driver.OracleDriver');
- --设置管理员账号
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('admin.authorizedJIDs', 'admin@localhost');
- --自定义用户认证
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcAuthProvider.useConnectionProvider', 'true');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcAuthProvider.passwordSQL', 'select ''123456'' as pwd from
- t_sys_user t where t.code=?');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcAuthProvider.passwordType', 'plain');
- --自定义用户管理
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.allUsersSQL', 'select code from t_sys_user
- t');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.nameField', 'name');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.searchSQL', 'select code from t_sys_user t
- where code=?');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.useConnectionProvider', 'true');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.emailField', 'email');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.userCountSQL', 'selectcount(*) from
- t_sys_user t');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.loadUserSQL', 'select t.name,t.email,t.code
- from t_sys_user t where t.code=?');
- insertinto OFPROPERTY (NAME, PROPVALUE)
- values ('jdbcUserProvider.usernameField', 'code');
- --使用不同的数据源
- update OFPROPERTY set
- PROPVALUE='org.jivesoftware.openfire.user.JDBCUserProvider'
- whereNAME='provider.user.className';
- update OFPROPERTY set
- PROPVALUE='org.jivesoftware.openfire.auth.JDBCAuthProvider'
- whereNAME='provider.auth.className';
- commit;
openfire使用自定义用户表的更多相关文章
- 第四百零六节,自定义用户表类来继承Django的用户表类,
第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...
- django自定义用户表
django中已经给我生成默认的User表,其中的字段已经可以满足我们的日常需求. 但有时候,我们需要更多的字段,我们就可以自定义.来替换django自带的User表. #models.py from ...
- django 自定义用户表替换系统默认表
首先新建一个users应用,编写这个应用的models类. from django.contrib.auth.models import AbstractUser class UserProfile( ...
- Django自定义用户认证
自定义一个用户认证 详细参考官方文档: https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#django.contrib.au ...
- spring security方法一 自定义数据库表结构
Spring Security默认提供的表结构太过简单了,其实就算默认提供的表结构很复杂,也无法满足所有企业内部对用户信息和权限信息管理的要求.基本上每个企业内部都有一套自己的用户信息管理结构,同时也 ...
- 把sql server 2000的用户表的所有者改成dbo
怎么样把sql server 2000的用户表的所有者,改成dbo,而不是用户名. 推荐使用下面介绍的第二种方法,执行以下查询便可以了.sp_configure 'allow updates','1' ...
- 如何利用WordPress创建自定义注册表单插件
来源:http://www.ido321.com/1031.html 原文:Creating a Custom WordPress Registration Form Plugin 译文:创建一个定制 ...
- Sqlserver如何递归查询层级数据将父级字段和本级某个字段合并?如何自定义用户函数并调用?
开门见山,首先说下遇到的问题:前期系统地区字典表中,每个省市县只存了本级名称,没存完整的字段.如:肥西县隶属安徽省合肥市,表中就存了一个肥西县.现有需求需要将完整字段显示,由于系统已在线上运营,无法做 ...
- CMDB资产管理系统开发【day25】:Django 自定义用户认证
官方文档:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#substituting-a-custom-user-mode ...
随机推荐
- .NET LINQ查询操作中的类型关系
LINQ 查询操作中的类型关系 若要有效编写查询,您应该了解完整的查询操作中的变量类型是如何全部彼此关联的. 如果您了解这些关系,就能够更容易地理解文档中的 LINQ 示例和代码示例. 另外 ...
- LeetCode 26 Remove Duplicates from Sorted Array
Problem: Given a sorted array, remove the duplicates in place such that each element appear only onc ...
- SpringBoot实战配置
http://blog.csdn.net/sun_t89/article/details/51944252 http://www.cnblogs.com/kreo/p/4423362.html
- MongoDB游标操作(4)
游标是什么? 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取. 声明游标: var cursor = db.collectioName.find(query ...
- 【Java EE 学习 16 下】【dbutils的使用方法】
一.为什么要使用dbutils 使用dbutils可以极大程度的简化代码书写,使得开发进度更快,效率更高 二.dbutils下载地址 http://commons.apache.org/proper/ ...
- Oracle资源管理器(二)-- 创建和使用数据库资源计划
(参考 http://blog.csdn.net/mrluoe/article/details/7969436 -- 整理并实践通过) 第1步,创建3个用户 SQL> create user s ...
- fabric devenv Vagrantfile配置
Vagrantfile文件只会在第一次执行vagrant up时调用执行,其后如果不明确使用vagrant reload,则不会被强制重新加载. # This is the mount point f ...
- 【转】如何提高意志力&如何坚持每天学习
第一篇如何提高意志力 有一种品质可以使一个人在碌碌无为的平庸之辈中脱颖而出,这个品质不是天资,不是教育,也不是智商,而是自律.有了自律,一切皆有可能,无,则连最简单的目标都显得遥不可及.–西奥多·罗斯 ...
- CodeForces 279D The Minimum Number of Variables 题解
题目大意: 有一组n个不相同的数字组成数串:a1,a2,a3-an. 1.一个数组b. 2.第一个操作我们将b0的值赋为a1.之后我们有n-1个操作,第k次操作我们将by=bi+bj(y,i,j可能相 ...
- 单元测试地二蛋 先弄个两个原生模块1个原始的一个jq插件
放羊测试测完了再测这两个瞎搞的下拉列表组建 看看从单元测试模块化的角度组建会写成啥样 1:ajax请求 简单文本 2:1个页面多个实例 3:复杂展示+自定义点击+自定义处理函数 ...