1
我正在运行MongoDB 2.2。我可以添加凭据来访问我的单个实例的MongoDB这样的:Spring Data mongodb:如何在运行副本集时添加凭据
<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>
但该文档说,只有密钥文件验证可用于副本集: http://docs.mongodb.org/v2.2/administration/replica-sets/#replica-set-security
如何使用数据库凭据preferrably(甚至一个密钥文件),所以我可以在使用Spring Data MongoDB时对MongoDB副本集进行身份验证?
谢谢。
谢谢连接。我确实将“auth = true”行添加到主服务器上的/etc/mongodb.conf中,然后重新启动它。然后我以你展示的方式通过shell添加用户。所以我期望我会在下次用户使用mongo shell连接到主服务器时面临凭证质量问题,但我没有。我错过了什么吗? – pastafarian
除非您切换到经过身份验证的数据库,否则您不会被要求输入凭据。即使您切换了,也不会提示您输入用户名/密码。但是,如果您尝试运行show collection等任何命令,则会显示身份验证错误。您需要编写db.auth('your_username','your_password') – harunyardimci
您可以通过提供用户名和密码来连接到mongo shell。$ mongo your_db_name -u username -p – harunyardimci