Program Tip

CouchDB에서 일반 사용자 만들기

programtip 2020. 12. 1. 19:36
반응형

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_shasalt(아래 참조).

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"]
    }
}

이는 _usersadmin dbadmindbreader 외에 2 명의 사용자가 있음을 의미합니다 . 이미 제안 된 문서를 읽기에 너무 게으르다면 그렇게해야합니다.


CouchDB 문서에는 CouchDB의 보안 기능 과 관계형 데이터베이스에서 사용자와 유사한 "독자" 를 구성하는 방법에 대한 짧은 기사가 있습니다.


많은 사이트가하는 방식으로이를 수행하려면 웹 프레임 워크를 앞에 두어야한다고 생각합니다. Couchdb 관리자 역할은 레코드별로 작동하지 않으므로 프로필 또는 계정 테이블을 읽을 수있는 리더를 만들면 레코드를 읽을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/3684749/creating-regular-users-in-couchdb

반응형