使用mongodb连接到弹簧数据时出错

时间:2016-10-14 13:25:11

标签: java mongodb spring-mvc spring-data-mongodb spring-java-config

org.springframework.data.mongodb.UncategorizedMongoDbException:查询失败,错误代码为13,错误消息'未授权查询其管理员用户'在服务器127.0.0.1:27017;嵌套异常是com.mongodb.MongoQueryException:查询失败,错误代码为13,错误消息未经授权查询其admin.users'在服务器127.0.0.1:27017

这是我的spring-config.xml

    

<mongo:mongo id="myRs" host="localhost" port="27017" />
<mongo:db-factory dbname="itsadmin"  />


<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <property name="writeResultChecking" value="EXCEPTION"/>
    <property name="writeConcern" value="FSYNC_SAFE"/>
    <constructor-arg ref="myRs"/>
    <constructor-arg name="databaseName" value="itsadmin"/>
    <constructor-arg name="userCredentials" ref="userCredentials"/>
</bean>

<bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
    <constructor-arg name="mechanism"
        value="#{T(com.mongodb.AuthenticationMechanism).SCRAM_SHA_1}" />

    <constructor-arg name="username" value="admin" />
    <constructor-arg name="password" value="admin" />
</bean>

1 个答案:

答案 0 :(得分:0)

确保您使用的用户对MemoryStream数据库具有读取权限。你可以看到如何做到here。如果没有,您可以像this

一样添加它

如果是,可能春天无法获得凭据。检查此SO question,因为它似乎是相关的