인프런 커뮤니티 질문&답변

이태희님의 프로필 이미지
이태희

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

원인 찾았습니다.

해결된 질문

작성

·

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://아이디:비번@주소:포트

위와 같은 형식으로 연결을 맺는데 :나 @가 들어가면 어디가 아이디고 어디가 비번인지 헷갈려합니다.

이태희님의 프로필 이미지
이태희

작성한 질문수

질문하기