В частности, можно ли фильтровать репликацию с помощью PouchDB? Я хочу убедиться, что клиент не может опустить фильтр и, таким образом, синхронизировать с всей базой данных.Можно ли использовать фильтрованную репликацию CouchDB для репликации только подмножества данных ACLed для пользователя?
ответ
Нет протокола репликации CouchDB. Процесс репликации - это просто клиент, подключающийся к двум конечным точкам CouchDB, считывая документы из одного и записывая их в другой. Конечно, CouchDB поставляется с таким клиентом («репликатор»), встроенным; но концептуально это стороннее приложение.
Что это означает, вы можете удалить репликацию из анализа безопасности вашего приложения. Сначала рассмотрите возможность чтения и записи нормальных веб-клиентов на ваш сервер. Заблокируйте это. Вы можете предположить гипотетического противника с взломанным веб-браузером или с помощью пользовательского HTTP-клиента (который, например, не соблюдает политики перекрестного происхождения).
С этой проблемой репликация по необходимости будет следовать вашей политике безопасности.
Другими словами, тиражирование между PouchDB и CouchDB:
- Если вы толкая на удаленный сервер, ваш инструмент безопасности удаленный
validate_doc_update
функция. - Если вы используете , то вытащите с удаленного сервера, ваш инструмент безопасности - это объект _security базы данных - в частности, массивы
"members"
. Клиент может либо полностью читать базу данных, либо вообще не работать. Конечно, вы можете делать отфильтрованные репликации в специальные базы данных на стороне сервера.
- 1. Можно ли настроить репликацию mysql для предотвращения репликации базы данных?
- 2. Могу ли я настроить фильтрованную репликацию базы данных с шаблоном?
- 3. Безопасно ли уплотнять базу данных CouchDB, которая имеет непрерывную репликацию?
- 4. CouchDB 2.0 множественные репликации
- 5. репликации Предупреждение: Для того, чтобы разрешить репликацию данных FILESTREAM
- 6. Отфильтрованный репликацию с CouchDB для pouchdb
- 7. Размер файла репликации Couchdb
- 8. Cassandra репликации для больших данных
- 9. Конфигурация двунаправленной репликации CouchDB/Cloudant
- 10. Как найти репликацию данных в Apache CouchDB
- 11. CouchDB репликации
- 12. Какую репликацию базы данных следует использовать?
- 13. репликации для поддержания целостности данных
- 14. CouchDB 1.6: Настройка репликации для баз данных на иностранных узлах
- 15. Ошибка репликации CouchDB - разрешено только POST
- 16. Oracle: Должен ли я использовать репликацию?
- 17. Почему можно использовать `$` для подмножества SpatialPolygonsDataFrame?
- 18. CouchDB Проверка репликации
- 19. Когда использовать репликацию master-master Репликация master-slave VS
- 20. Пошаговая инструкция для безопасной репликации?
- 21. Могу ли я использовать репликацию для этого случая?
- 22. Есть ли способ использовать резольвер SBT только для подмножества артефактов?
- 23. Как сделать beanplot только для подмножества данных
- 24. Использование репликации сеанса Weblogic для сортировки базы данных в памяти
- 25. CouchDB - Архитектура мобильного приложения - Производительность репликации
- 26. Можно ли использовать CouchDB с AJAX?
- 27. Ошибка репликации CouchDB {"error": "not_found"}
- 28. Можно ли использовать только пакет данных ExtJS?
- 29. Нужно ли memcached для репликации данных?
- 30. Инструменты Postgres репликации для DDL
Это было мое предположение о том, что вы не будете открывать CouchDB напрямую (так же, как вы бы не открывали MySQL или какое-либо другое хранилище данных напрямую), а скорее реализуете какую-то сквозную конечную точку. Но я немного запутался здесь, когда вы говорите, что нет «протокола» CouchDB? Я понимаю, что вы подразумеваете под этим, выступая в качестве стороннего клиента, но мое предположение было бы в том, что репликация PouchDB достигает взаимодействия, по существу, рассматривая это поведение как протокол, или я все еще что-то пропущу здесь? –
Да, вы правы. Мой комментарий - случайный, не предназначенный для того, чтобы быть кристально чистым. Конечно, существует жесткая беседа между конечными точками для тиражирования: протокол. Но здорово, что этот разговор - это просто клиент, который подключается и делает обычные обновления. Для репликации нет магического внеполосного канала. Я описываю концептуальную модель чуть больше здесь: http://stackoverflow.com/questions/4766391/what-is-the-couchdb-replication-protocol-is-it-like-git – JasonSmith
CouchDB фактически предназначен для непосредственного отображения для пользователей, таких как сервер приложений. Конечно, многие люди успешно используют его в традиционной трехуровневой модели (например, MySQL). Решение об разоблачении пользователей сводится к тому, можно ли работать с пользователями CouchDB и моделью проверки подлинности. Это либо спасатель жизни (если ваше приложение соответствует этой модели), либо прерыватель транзакции (если это не так) – JasonSmith