pas*_*ian 3 xml credentials mongodb spring-data-mongodb
我的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>
Run Code Online (Sandbox Code Playgroud)
现在,我想要做的就是设置用户名/密码来访问mongo数据库,而无需更改我的代码(即只更新Spring应用程序上下文xml文件).那可能吗?如果是这样,怎么样?
谢谢.
您可以将这样的用户名密码传递给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>
Run Code Online (Sandbox Code Playgroud)