현재 mongodb를 데이터베이스로 사용하는 프로젝트에서 작업 중이며 symfony config.yml의 mongo 구성에서 보안을 시작하지 않았습니다.DoctrineMongoDBBundle에서 인증 사용
이것은 내 config.yml이 프로젝트 시작일 때처럼 보입니다.
doctrine_mongodb:
connections:
default:
server: mongodb://localhost:27017
options: {}
default_database: louisv
document_managers:
default:
auto_mapping: true
이 매개 변수를 사용하면 프로젝트가 잘 작동합니다.
하지만 mongodb 데이터베이스에 보안을 추가하고 싶습니다. 그래서 mongodb에 대한 문서를 따라 사용자를 만들려고했습니다. admin 데이터베이스의 "admin"사용자와 louisv 데이터베이스의 "louisv"사용자를 작성했습니다 (관리 데이터베이스는 기본적으로 존재하는 데이터베이스이고 louisv는 내 것입니다).
이제이 새로운 사용자를 Symfony에서 사용하고 싶습니다. 내 conf.yml 파일에서 내 옵션 매개 변수를 변경하고 지금 내가 무엇을 가지고 :
Failed to connect to: localhost:27017: Authentication failed on database 'admin' with username 'louisv': auth fails
이상한 원인 내 DEFAULT_DATABASE는
doctrine_mongodb:
connections:
default:
server: mongodb://localhost:27017
options:
username: louisv
password: password
default_database: louisv
document_managers:
default:
auto_mapping: true
을 이제 심포니에서 내 응용 프로그램을 입력 할 때 어느 .
"louisv '이 아니라'관리 '는 내가 관리자의 것들에 자격 증명을 변경하면, 나는 또 다른 오류가 있습니다
을localhost:27017: not authorized for query on louisv.User
사용자를 검색하는 것처럼 보이지만 쿼리를 수행 할 수없는 것처럼 보이는 것이 좋습니다.
덕분에 지금 작동을 많이 저장하면 설정 파일 별도의 "매개 변수"파일에 사용자 이름과 암호를 유지하는 것을 잊지 마십시오! 나는 많은 것을 수색했지만이 간단한 답을 찾지 못했습니다! 다시 Thx! – Zaidar
안녕하세요, 귀하의 솔루션을 시도했지만 DB에 연결하지 않습니다. DB 자격 증명을 변경 한 후 mongo를 다시 시작해야합니까? 이전과 마찬가지로 사용자 이름과 비밀번호가 없습니다. – Geetika