해결된 질문
작성
·
134
0
원인을 찾으려고 이것저것 시도하니까
비밀번호에 @가 들어갈 경우 몽구스 연동하는 과정에서 문제가 발견되었습니다.
그리고 계정을 admin 디비에서 생성했을때와 직접 만든 nodejs라는 디비에서 만들었을 때 차이가 발생합니다.
[상황1] 이 상황에서는 정상적으로 잘 접속합니다.
use admin
db.createUser({ user: 'nodejs', pwd: 'Nodejs210216&#', roles: ['root']})
[상황2] nodejs라는 디비를 만들고 계정을 생헝하면 권한 오류가 발생합니다.
use nodejs
db.createUser({ user: '계정명', pwd: '비밀번호', roles: ['readWrite']})
제가 상황2처럼 하고 싶은 이유는 admin은 모든 테이블이 보이기 때문에 보안상 위험이 있어서 따로 디비를 만들고 그 디비안에 계정을 생성했는데
안되네요. 그런데 이상한건 제 로컬 피시에서는 상황1과 상황2 모두 잘됬는 데 클라우드 운영서버에서는 상황2가 안됩니다.
혹시 버전이나 뭐 그런게 있나요?
답변 1
1
제가 admin 제외하고 다른 곳에서 유저를 만들어본적이 없어서 잘 모르겠습니다.
비밀번호에 @나 :가 들어가면 문제가 생길 수 있습니다.
mongodb://아이디:비번@주소:포트
위와 같은 형식으로 연결을 맺는데 :나 @가 들어가면 어디가 아이디고 어디가 비번인지 헷갈려합니다.