CouchDB에서 일반 사용자 만들기
CouchDB에서 관리자가 아닌 일반 사용자를 어떻게 만들 수 있습니까?
먼저 사용자를 _users
데이터베이스에 넣습니다 . 문서의 ID는 여야합니다 org.couchdb.user:username
. 예 :
CouchDB 1.2.0 이상에서는 다음을 사용하십시오.
{
"_id": "org.couchdb.user:dbreader",
"name": "dbreader",
"type": "user",
"roles": [],
"password": "plaintext_password"
}
CouchDB를이 해시 및 소금 서버에 당신의 암호를하고, 필드의 값을 절약 할 수 password_sha
및 salt
(아래 참조).
CouchDB <1.2.0에서 사용자 문서는 다음과 같아야합니다.
{
"_id": "org.couchdb.user:dbreader",
"name": "dbreader",
"type": "user",
"roles": [],
"salt": "54935938852dd34f92c672ab31e397cedaf0946d",
"password_sha": "42253ea4461a604f967813aaff90b139d7018806"
}
CouchDB 1.3.0 이상에서는 암호 해싱에 aha & salt 대신 PBKDF2를 사용합니다.
그런 다음 버전이 지정되지 않은 특정 데이터베이스에서 id _security로 문서를 생성하여 데이터베이스 별 인증을 생성 할 수 있습니다.
{
"admins": {
"names": ["dbadmin"],
"roles": ["editor"]
},
"readers": {
"names": ["dbreader"],
"roles": ["reader"]
}
}
이는 _users
admin dbadmin 및 dbreader 외에 2 명의 사용자가 있음을 의미합니다 . 이미 제안 된 문서를 읽기에 너무 게으르다면 그렇게해야합니다.
CouchDB 문서에는 CouchDB의 보안 기능 과 관계형 데이터베이스에서 사용자와 유사한 "독자" 를 구성하는 방법에 대한 짧은 기사가 있습니다.
많은 사이트가하는 방식으로이를 수행하려면 웹 프레임 워크를 앞에 두어야한다고 생각합니다. Couchdb 관리자 역할은 레코드별로 작동하지 않으므로 프로필 또는 계정 테이블을 읽을 수있는 리더를 만들면 레코드를 읽을 수 있습니다.
참고 URL : https://stackoverflow.com/questions/3684749/creating-regular-users-in-couchdb
'Program Tip' 카테고리의 다른 글
명령 결과를 bash에서 인수로 사용합니까? (0) | 2020.12.01 |
---|---|
C #에서 비동기 파일 복사 / 이동 (0) | 2020.12.01 |
프로토 타입으로 이벤트 트리거 (0) | 2020.11.30 |
django 템플릿 시스템, 모델 내부에서 함수 호출 (0) | 2020.11.30 |
Rails에서 before_filter 건너 뛰기 (0) | 2020.11.30 |