PouchDB тиражирование проектной документации
У меня есть приложение Cordova, работающее с PouchDB внутри браузера. Каждый пользователь принадлежит к "команде". Для каждой команды есть облачная база данных, с которой они синхронизируют свои локальные пакеты.
Я хотел бы создать проектный документ, который предоставляет некоторые простые функции фильтрации, но я обеспокоен тем, что любой пользователь, принадлежащий к этой группе, сможет создать новую редакцию проектного документа и, таким образом, повлиять на представление документов другим пользователем.,
Является ли обычной практикой блокирование обновлений проектной документации? Эти проектные документы обычно реплицируются между пользователями или они создаются только в локальных пакетах и каким-то образом не могут реплицироваться на общую облачную кушетку?
1 ответ
Мой стандартный совет людям никогда не копировать проектные документы. Это просто слишком запутанно и рискованно для безопасности.
Поэтому, когда вы реплицируете, вы можете просто сделать фильтр, чтобы исключить любые документы, идентификаторы которых начинаются с _design/
, На стороне клиента вы просто создаете все необходимые документы и то же самое с сервером.
С другой стороны, это не мешает злоумышленнику пытаться перезаписать проектные документы на стороне сервера. (В случае, если вы также используете ddocs на стороне сервера.) Единственный способ предотвратить это с помощью validate_doc_update
функция, которую вы можете использовать, чтобы не допускать администраторов к переписыванию документов проекта.
Надеюсь, это поможет!