被一个Spring与mongo集成问题困扰了2天,在本机跑程序都是好好的,但是扔到服务器上面死活是验证用户名和密码失败。仔细分析,发现是自己本机环境没有配置用户名和密码就可以连接mongo。于是上外网去搜索报错,外网的道友们给出的解答是Try updating to spring-data-mongodb to the latest version. I was getting that authentication error while using version 1.7.2.RELEASE but it stopped after updating to 1.8.0.RELEASE.
意思就是我的jar包版本太低,不支持配置用户名和密码。
于是乎便在maven里面升级jar包的版本。但是,但是发现还是连接不上。又上外网搜索道友们的解决方案(百度搜索不到相关的案例),道友们提示说
<!-- 配置ip端口 -->
<mongo:mongo-client id="mongo" host="" port="" credentials=""></mongo:mongo-client>
<!-- 配置默认工厂 -->
<mongo:db-factory id="mongoDbFactory" dbname="" host=""
port="3717" username="" password=""/>
<!-- 默认Template -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>
是spring配置里面的mongo配置有问题,于是又各种尝试,各种换不同的标签,以及翻spring-mong-data的源码看能不能找出问题是什么,找了半天还是报相同的连接不上异常。
困扰的真是没有办法了,分析下来原因就只有两方面的,第一就是授权出了问题,用户和密码不正确,分析下来这方面基本排除掉。第二方面就是程序有问题,但是程序那个方面有问题真是不知道,不过大致知道是因为jar包的版本引起的。
没有办法的办法,便把这个项目扔到一边,去找了一个Helloworld的程序来,不过里面配置了用户名和密码而已。跑下来验证了授权方面没有出问题。可以锁定是自己引的jar包的问题了。对比下来发现自己引了2个jar包,一个是spring-mongo-data的jar一个是mongo驱动的jar。最后只引一个spring-mongo-data的jar,困扰两天的问题终于解决了。
以下是整理的mongo 创建用户授权的代码
db.createUser({user:"logsystest",pwd:"test",roles:[{role:"userAdmin",db:"admin"},{role"read",db:"logsys"}]})
创建用户之后便是db.auth("logsystest","test"),对用户进行授权。
需要注意的就是在那个库下面创建的用户,登录的时候就只能登录到哪一个库上面去,与授权是指定的库无关系。
分享到:
相关推荐
spring-data-mongo-1.0.0.M5.zip 11年10月25号出来的 要配合spring-data-commons-1.2.0.M2.zip使用 不然底层会报错 spring-data-commons-1.2.0.M2.zip我已经传上去了~
NULL 博文链接:https://zhaoxiaoboblogs.iteye.com/blog/2300790
Spring-Data-MongoDB 1.9.3、MongoDB3.2整合
Spring 4.1.3.RELEASE Spring-data-mongo 1.8.0 mongodb 3.1.0
spring-data-commons-1.9.0.RELEASE mongo-java-driver-2.11.3 spring-data-mongodb-1.6.1.RELEASE
NULL 博文链接:https://solid210.iteye.com/blog/1474672
spring-data-mongo-reference.pdf
最新 spring-data-mongo 官方示例
spring-data-mongo-1.0.1.RELEASE.zip
mongo-1.4 jar包 Spring Data MongoDB - Reference Documentation
一个很完整,可以直接运行的案例,值得拥有。 springdata集成mongodb,实现了mongodb的基础操作功能
spring-mongodb-morphia springdata-mongo morphia mongodb 学习
skip随着数据量上去,分页性能极具下降,不推荐。这里使用spring-data-mongo实现的分页,并且实现了mongodb自增id(监听器方式)、也集成了轻量级插件MongodbPlugin,有需要的可以下载看看哦~
使用Spring和MongoDB集成csv数据的项目。 该项目的目标是创建一个API,以从.csv文件信息中加载和集成数据。 加载后,您可以在API中查询这些数据。 该项目进行了一些测试。 执行 要运行项目,您需要具有本地MongoDB...
Spring Data MongoDB API。 Spring Data MongoDB 开发文档。
springmvc与mongoDB集成需要下面几个的jar包:mongo-java-driver-3.0.1.jarspring-data-commons-1.10.0.RELEASE.jarspring-data-commons-core-1.4.1.RELEASE.jarspring-data-mongodb-1.7.0.RELEASE.jar已经打包在...
透明地集成到spring-data-mongodb 支持嵌套的集合,地图和bean 高性能(无反射,优化了加密) 密钥版本控制(以帮助迁移到新密钥而无需转换数据) 开箱即用支持256位AES 支持Java中可用的任何加密(通过JCE) ...
Desafio-Spring-Mongo Desafio Via Varejo Projeto criado como desafio via varejo Possui API,可访问banco de dados NSQL mongoDBdas Apis集合: Swagger v3.0:网址: 邮递员:可配置性: implementation 'org....
。。。。。。。spring-data-mongodb-1.2.0.RELEASE
您将需要在application.properties文件中更新默认的MongoDB URI spring.data.mongodb.uri 。 指令 使用mvn spring-boot:run在控制台中启动服务器。 如果添加一些单元测试,则可以使用mvn clean test来启动它们。 ...