Ответ 1
Сначала вы помещаете пользователя в базу данных _users
. Идентификатор документа должен быть 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 и более поздние будут использовать PBKDF2 вместо аха и соли для хэширования пароля.
Затем вы можете создать для каждой проверки подлинности базы данных, создав документ с id _security в конкретной базе данных, которая не является версией, например.
{
"admins": {
"names": ["dbadmin"],
"roles": ["editor"]
},
"readers": {
"names": ["dbreader"],
"roles": ["reader"]
}
}
Это означает, что в _users
есть 2 пользователя, кроме admin dbadmin и dbreader. Это следует делать, если вы слишком ленивы, чтобы прочитать документ, который уже был предложен.