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