mongdb3.0用户验证问题
Mongodb2.6的默认用户验证方式是:MONGODB-CR
Mongodb3.0的默认用户验证方式是:SCRAM-SHA-1
因为新的验证方式在spring和java中还有一些问题,因此现在项目中3.0的数据库依旧使用之前的验证方式。
把3.0的用户验证改为MONGODB-CR,过程如下:
(1)、进入mongoshell,mongodb的bin目录下执行mongo命令:./mongo
(2)、创建admin数据库,并创建一个用户,指定用户密码和角色:
use admin
db.createUser({“user”:”admin”,”pwd”:”admin”,”roles”:[“root”]})
(3)、更改用户验证方式:(注意必须先创建用户才能成功操作这一步)
var schema=db.system.version.findOne({“_id”:”authSchema”})
回车后再输入:
schema.currentVersion=3
回车后继续输入:
db.system.version.save(schema)
回车
(4)、删除刚刚创建的用户:
db.dropUser(“admin”)
(5)、再次创建一个新的用户:
db.createUser({“user”:”admin”,”pwd”:”admin”,”roles”:[“root”]})
2、 Spring配置用户验证:
在spring整合mongodb3.0的jar包中,旧的一些用户验证方式已经被抛弃,因此需要使用新的配置才能成功连接并使用3.0数据库。需要mongo-java-driver-3.0.2.jar和spring-mongo-data-1.7.2.jar或者更高版本的jar。
Spring中关于mongodb3.0的配置如下:
?xml version="1.0" encoding="UTF-8"?
beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:p="http://www.springframework.org/schema/p"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"
!-- Factory bean that creates the Mongoinstance --
mongo:mongo-client host="192.168.0.33" port="27017" credentials="aaa:aaa@aaa"id="mongo"
mongo:client-options write-concern="SAFE"/
/mongo:mongo-client
mongo:db-factory id="mongoDbFactory"dbname="admin" mongo-ref="mongo"/
bean id="mongoTemplate"
constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /
/bean
/beans
3、 纯java代码中配置用户验证:
在mongo-java-driver的新驱动中,旧的(mongodb2.6)验证方法也已经被弃用,因此也必须更换新的代码进行验证,而且需要注意的是,在3.0.2.jar中,即便是用了新的方法验证,但是如果不把mongodb中的用户验证方式改回MONGODB-CR,那么依旧验证不通过,所以还必须改回MONGODB-CR才行,至于mongodb3.0.6以后的行不行就还不知道。
新的验证方法java代码如下:
ServerAddress sa = new ServerAddress(host, port);
List MongoCredential mongoCredentialList = new ArrayList MongoCredential
mongoCredentialList.add(MongoCredential.createMongoCRCredential(username, database, password.toCharArray()));
new MongoClient(sa, mongoCredentialList);
示例:
public DB getMongoDB() {
if (mongoDB == null) {
try {
ServerAddress sa = new ServerAddress("192.168.0.160",47017);
List MongoCredential mongoCredentialList = new ArrayList MongoCredential mongoCredentialList.add(MongoCredential.createMongoCRCredential("aaa","aaa","aaa".toCharArray()));
mongoDB = new MongoClient(sa,mongoCredentialList).getDB("admin");
} catch (Exception e) {
throw new RuntimeException("连接MongoDB数据库错误",e);
}
}
return mongoDB;
}
使用数据库存储Freeswitch账户与密码 FreeSWITCH-CN Google Groups 很好很强大,可 FreeSWITCH 遵循RFC并支持很多高级的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一个SBC进行透明的SIP代理(proxy)以支持其它媒体如T.38等。FreeSWITCH 支持宽带及窄带语音编码,电话会议桥可同时支持8、12、16、24、32及48kHZ的语音。而在传统的电话网络中,要做到三方通话或多方通话需要通过专门的芯片来处理,其它像预付费,彩铃等业务在PSTN网络中都需要依靠智能网(IN)才能实现,而且配置起来相当不灵活。
「OushuDB」用户指南数据定义 创建和管理数据库 (下) 回顾一下 http://www.oushu.com/docs/ch/server-configuration.html 我们知道OushuDB 服务器提供了大量的运行时配置变量。你可以为许多这种变量设置特定于数据库的缺省数值。
「OushuDB」用户指南数据定义 创建和管理数据库 (中) CREATE DATABASE实际上是通过拷贝一个现有的数据库进行工作的。缺省时,它拷贝名为template1的标准系统数据库。所以该数据库是创建新数据库的”模板”。如果你给template1增加对象,这些对象将被拷贝到随后创建的用户数据库中。这样的行为允许节点对数据库中的标准套件进行修改。比如,如果你把过程语言PL/Perl安装到template1里,那么你在创建用户数据库的时候它们就会自动可得,而不需要额外的动作。
「OushuDB」用户指南数据定义 创建和管理数据库 (上) 数据库是一些SQL对象(“数据库对象”)的集合;通常每个数据库对象(表、函数等)属于并且只属于一个数据库。不过有几个系统表 (比如pg_database)属于整个集群并且可以在集群之内的每个数据库里访问。更准确地说,一个数据库是一个模式的集合,而模式包含表、函数等等。因此完整的层次是这样的:服务器→数据库→模式→表(或者其它类型对象,比如函数)。
步骤 1:对你的插件进行记录 对你近期在 Confluence 中安装和启用的插件进行记录,这你可以在后期对插件进行重新安装或者调整。
中煜软件,数据库删除凭证 SELECT * FROM [Production].[dbo].[glVoucher] where voucherModule like IC and date = 2017-10-01 DELETE FROM [Production].[dbo].[glVoucher] where voucherModule like IC and date = 2017-10-01 网名:浩秦; 邮箱:root#landv.pw; 只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。
涂宗勋 认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
相关文章
- [Firefly引擎][学习笔记一][已完结]带用户验证的聊天室
- 如何只授予用户查看存储过程定义的权限
- 在aws ec2上使用root用户登录
- Javascript验证用户输入URL地址是否正确
- 聚类分析在用户分类中的应用
- 查询其他用户开启的进程
- 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
- Web用户的身份验证及WebApi权限验证流程的设计和实现(尾)
- Web用户的身份验证及WebApi权限验证流程的设计和实现(续)
- Linux 用户管理命令id、su
- Guice系列之用户指南(四)
- Guice系列之用户指南(九)
- SAP UI5 应用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输入文本的功能试读版
- 如何在SAP Spartacus里监控用户浏览了某产品明细页面的动作
- SAP UX 用户体验师这个职位的技能要求和日常工作内容介绍
- 打印用户在指定时间段内做过的SAP Fiori Launchpad personalization明细
- Servlet课程0425(四) Servlet实现简单用户登录验证
- 0702-spring cloud config-git仓库配置、用户授权
- L41.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- userdel和groupadd
- 玩转华为ENSP模拟器系列 | 配置VTY最大数量,用户级别和验证方式
- ASP.NET CORE[练习7]-Identity-用户登录、最简单的登录验证
- Spring MVC拦截器实现用户登录权限验证案例
- 用户画像基础之应用落地和案例展示
- 域用户设置只能在一台计算机上登录杜绝安全隐患