отображать данные без аутентификации couchdb - PullRequest
0 голосов
/ 16 марта 2020

В couchDb> database> permissions добавьте _admin в Roles, и все отлично работает с добавлением имени пользователя и пароля в URL, но для загрузки приложения вложения я не хочу добавлять имя пользователя и пароль в скручиваемость дисплея.

поэтому я хочу удалить аутентификацию только в отображаемых данных. Как я могу это сделать?

пример:

1) http://username:password@127.0.0.1: 5984 / база данных / 001 ЗА добавление, удаление, обновление

2 ) http://127.0.0.1: 5984 / database / 001 / test. php FOR только для отображения или загрузки вложения.

1 Ответ

0 голосов
/ 16 марта 2020

Чтобы предоставить , каждый может прочитать только немногие могут написать шаблон 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

...