Чтобы предоставить , каждый может прочитать только немногие могут написать шаблон 1 , вы хотите использовать функцию validate_update_do c 2 в документе проекта , Функция вызывается для любого запроса на создание, обновление или удаление документа.
Например, требуется изменить роль администратора, но разрешить кому-либо читать базу данных:
function(newDoc, oldDoc, userCtx) {
if (userCtx.roles.indexOf("_admin") === -1) {
throw( { forbidden : "Only admins can modify the database." } );
}
}
Проектный документ может выглядит так:
{
"_id": "_design/validate_write",
"validate_doc_update": "function (newDoc, oldDoc, userCtx) { if (userCtx.roles.indexOf('_admin') === -1) throw( { forbidden : 'Only admins can modify the database.'} ); }"
}
Создать этот документ в Fauxton очень просто. Как указано в обеих ссылках, это может быть распространено на роли пользователей и т. Д. c.
Обратите внимание, что для вашего сценария необходимо установить для свойства конфигурации CouchDB require_valid_user
3 значение false.
1 Рецепты аутентификации CouchDB: Каждый может читать, только некоторые могут писать 2 CouchDB validate_doc_update функция 3 CouchDB свойство конфигурации require_valid_user