春季数据的MongoDB:将MongoDB的访问凭据(Spring Data mongodb: ad

2019-09-03 00:03发布

我在我的Spring应用程序下面的工作配置:

<mongo:mongo id="myRs" replica-set="myhost:27017">

  <mongo:options max-wait-time="1500"
                   connect-timeout="30000" />
</mongo:mongo>

<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="mydb"/>
</bean>

现在我想要做的是访问蒙戈数据库而不改变我的代码设置的用户名/密码(即只能通过更新春天应用上下文xml文件)。 那可能吗? 如果是这样,怎么样?

谢谢。

Answer 1:

你可以像这样通过用户名密码MongoTemplate。 使用PropertyPlaceholderConfigurer你甚至可以阅读从属性文件中的用户名和密码。

<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="mydb"/>
    <constructor-arg name="userCredentials" ref="userCredentials"/>
</bean>

<bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials">
    <constructor-arg name="username" value="username" />
    <constructor-arg name="password" value="password" />
</bean>


文章来源: Spring Data mongodb: adding credentials for MongoDb access