0

средыконфигурации аутентификации для пружинных Монго-данных

весна-ботинок 1.3.2

весна-Монго 0.8.0

строить свою весенне-загрузочную microservice с Gradle.

Проблема

один из базы данных Монго включить авторизацию, поэтому я настроить эти аргументы в application.yml

spring: data: mongo: username:xxx password:xxx authentication-database:xxx

это хорошо работает для MongoDB, который установлен на авторизацию.

, но я получил сообщение об ошибке с mongdb, который не установил авторизацию даже я установить имя пользователя = «», пароль = «». Он не в состоянии с авт.

Вызванный: com.mongodb.CommandFailureException: { "serverUsed": "локальный: 27017", "ОК": 0.0, "код": 18, "ErrMsg": "не удалось аутентификации."} на com.mongb.CommandResult.getException (CommandResult.java:76) ~ [mongo-java-driver-2.13.3.jar: na] at com.mongodb.CommandResult.throwOnError (CommandResult.java:140) ~ [mongo- java-driver-2.13.3.jar: na] at com.mongodb.DBPort $ SaslAuthenticator.authenticate (DBPort.java:903) ~ [mongo-java-driver-2.13.3.jar: na] at com. mongodb.DBPort.authenticate (DBPort.java:436) ~ [mongo-java-driver-2.13.3.jar: na] at com.mongodb.DBPort.checkAuth (DBPort.java:447) ~ [mongo-java- driver-2.13.3.jar: na] на com.mongodb.DBTCPConnector.doOperation (DBTCPConnector.java:207) ~ [mongo-java-driver-2.13.3.jar: na] at com.mongodb.DBCollectionImpl.createIndex (DBCollectionImpl.java:392) ~ [ монго-Java-водитель-2.13.3.jar: на] на com.mongodb.DBCollection.createIndex (DBCollection.java:597) ~ [монго-Java-водитель-2.13.3.jar: на]

Мой вопрос заключается в том, как удалить имя пользователя mongo.username, key key для этих mongo db, которые не установили auth?

также мне интересно, почему не может удалить ключ в application.yml file.while видели, что мы можем расширительный автоматическое свойство с помощью Maven или Gradle в этом документе: property expansion

Update если просто оставить этот ключ пустые, все еще получает ошибку

полный ответ { "КИ": 0,0, "ErrMsg": "Неверное имя базы данных: ''", "код": 73}}}]

+0

Я думаю, что это распространенный вопрос в конфигурации с пружинной загрузкой. Не просто mongo –

+0

подойдите ближе к методу createMongoClient в классе org.springframework.boot.autoconfigure.mongo.MongoProperties. Похоже, что когда имя пользователя и пароль равны null (пустая строка не является нулевым), то учетные данные auth опущены. Попытайтесь оставить свойства имени пользователя и пароля явно пустыми. –

+0

после настройки ключа имени пользователя, пароля в application.yml.even оставить значение пустым, оно также получит ошибку auth –

ответ

0

После разговора с @ bart.s.Революция этого выпуска е с пружинными профилями. при подключении к Монго дб которые позволяют AUTH, необходимо активного ключа profiles.config профиля в application.yml как этот

--- 
spring: 
    profiles: prod 
    data: 
     mongodb: 
      username: ${MONGO_USERNAME:mongo} 
      password: ${MONGO_PASSWORD:mongo} 
      authentication-database: ${MONGO_AUTH:admin}  

при подключении к Монго с auth.add «--spring.profiles.active = прод» для активации информации о имени пользователя и пароле mongodb.

Смежные вопросы