我在使用Spring使用凭据访问MongoDB时遇到问题。虽然没有凭据,但它就像一个咒语,但是使用它们却无法说
Failed to authenticate to database [yourdatabase], username = [yourusername], password = [x******z]
一定是由于新的auth默认设置,您可以在http://docs.mongodb.org/manual/core/authentication/中进行阅读
在3.0版中进行了更改:SCRAM-SHA-1是从3.0系列开始的MongoDB版本的默认机制。
问题: 有人找到一种使用带有凭据的Spring的方法吗?spring-data-mongodb
您使用哪个版本的技巧?
经过大量尝试和阅读,我找到了一种使MongoDB 3.0与身份验证一起工作的方法。
这是MongoDB 3.0的新安装,不涉及升级。
我使用了以下Maven依赖项:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-html" target="_blank">mongodb</artifactId>
<version>1.6.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version>
</dependency>
作为父母
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.2.RELEASE</version>
</parent>
然后在我的配置文件中
/**
* DB connection Factory
*
* @return a ready to use MongoDbFactory
*/
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
// Set credentials
MongoCredential credential = MongoCredential.createCredential(mongoUser, databaseName, mongoPass.toCharArray());
ServerAddress serverAddress = new ServerAddress(mongoHost, mongoPort);
// Mongo Client
MongoClient mongoClient = new MongoClient(serverAddress,Arrays.asList(credential));
// Mongo DB Factory
SimpleMongoDbFactory simpleMongoDbFactory = new SimpleMongoDbFactory(
mongoClient, databaseName);
return simpleMongoDbFactory;
}
/**
* Template ready to use to operate on the database
*
* @return Mongo Template ready to use
*/
@Bean
public MongoTemplate mongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
最后,只要您有访问MongoTemplate bean的地方,就可以做
mongoTemplate.insert(objectToStore, collectionName);
我有一个问题——我有一个带有websocket的java spring web应用程序,在本教程之后是sockjs实现https://spring.io/guides/gs/messaging-stomp-websocket/我需要用NodeJS连接到这个服务器应用程序。服务器应用程序是正常的,因为我设法通过web应用程序连接,它正在工作,但问题来了,当我试图实现它的nodejs。因此,要明确这一
我得到以下exeption连接到Mssql服务器。 我在属性中使用相同的配置连接到JDBC,但在尝试连接到R2DBC时出现问题。在Rest时发生,而不是在启动应用程序时发生。
我想检索Order对象的列表。每个Order对象可能都有一个OrderRows列表。OrderRows保存在单独的表中。如何将下面的查询与Jdbctemplate一起使用?
问题内容: 我是Redis的新手…我最近刚拿起Redisent来在PHP中使用Redis …并且我玩得很开心!但是,我注册了Redis服务,并一直在努力使用该服务… URI字符串如下: redis:// [用户名]:[pass] @ [服务器] .redistogo.com:[端口] / Redisent客户端只需输入主机名和端口…并且我没有地方输入用户名/密码…:-/我也一直在摆弄fsockop
问题内容: 我正在尝试使用SQL来构建.NET Web应用程序以查询AS400数据库。这是我第一次遇到AS400。 为了连接,我必须在我的机器(或AS400服务器)上安装什么?(用于Windows的IBM iSeries Access?) 连接字符串的组成部分是什么? 在哪里可以找到使用SQL命令构建数据访问层的示例代码? 谢谢。 问题答案: 您需要AS400 .Net数据提供程序。在这里检查:h
问题是我不想把我的密码放在yaml文件中。我想使用密钥文件或不记名令牌。我不确定我怎么能从这个开始。请帮帮忙。提前致谢:)
我正在尝试连接到Gmail帐户(通过OAuth 2.0上的ruby Gmail gem、Gmail gem、Gmail_xoauth gem,但每个方法都使用imap.rb),并获得: c:/ruby 21-x64/lib/ruby/2 . 1 . 0/net/IMAP . Rb:1045:在“initialize”中:由于目标计算机主动拒绝连接,因此无法建立连接。-连接(2)用于“imap.gm
我们所面临的问题已在许多文件中得到充分证明https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database. 从过渡到时,我们就开始面临这个问题。建议的修复方法对我们有效,但我们有一个问题,我们不想更新Java源文件以进行更改,例如从 到 正如在ht