2016-08-02 2207 views
1

我收到以下错误,同时尝试从mongodb集合中查找记录。春季mongo数据库身份验证错误(查询失败,错误代码13和错误消息)

org.springframework.data.mongodb.UncategorizedMongoDbException: Query failed with error code 13 and error message 'not authorized for query on ssprod.logger_user_activities' on server beta.redbus.co:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized for query on ssprod.logger_user_activities' on server beta.redbus.co:27017 
    at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:96) 
    at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:2011) 
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1894) 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1705) 
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1688) 
    at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:601) 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll(SimpleMongoRepository.java:268) 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll(SimpleMongoRepository.java:193) 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll(SimpleMongoRepository.java:47) 

我的spring配置文件看起来像下面

 <mongo:repositories 
       base-package="psl.service.infra.loggerx.server" mongo-template-ref="mongoTemplate"/> 

<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean"> 
    <property name="host" value="${mongo.host}"/> 
    </bean> 

     <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> 
     <constructor-arg ref="mongo"/> 
     <constructor-arg name="databaseName" value="ssprod"/> 
     <constructor-arg name="userCredentials" ref="mongoCredentials"/> 
     </bean> 

     <bean id="mongoCredentials" class="org.springframework.data.authentication.UserCredentials"> 
     <constructor-arg name="username" value="${mongo.username}"/> 
     <constructor-arg name="password" value="${mongo.password}" /> 
     </bean> 



    </beans> 

凭证是否正确,用户具有读取和写入access.Kindly帮助。

+0

问题是否解决?只是想知道下面的解决方案是否有帮助,或者你仍然面临任何问题? – notionquest

+0

雅问题已解决。实际上在我的pom.xml中,mongo jar之间有一些冲突。 –

回答

1

我认为问题是在Spring上下文中缺少“AuthenticationMechanism”(即值为SCRAM-SHA-1)。请参考下面的链接并相应地更改Spring上下文文件。

即使在更改上下文后,如果出现此错误,请将错误与最新的上下文文件粘贴。

Refer this link