CouchDb чтение аутентификации с использованием списков
Я смотрю на портирование веб-сайта в CouchDB, и это выглядит очень интересно.
Однако большая проблема заключается в том, что CouchDB не поддерживает аутентификацию чтения; все документы в базе данных доступны всем читателям.
Это предложенов другом месте использовать разные базы данных для разных групп читателей или реализовать аутентификацию читателей на другом (среднем) уровне, ни одна из которых не является опцией для этого проекта, где доступ определяется сложным для каждого ACL документа.
Я думал реализовать аутентификацию всписки и ограничить весь доступ к CouchDb к этим спискам. Это ограничение может быть применено с помощью простых предложений mod_rewrite в Apache, используемых в качестве обратного прокси-сервера. Списки просто извлекают строку и проверяют userCtx по ACL документа. Что-то вроде:
function(head, req) {
var row;
while (row = getRow()) {
if (row.value.ACL[req.userCtx.name])
send(row.value);
else
throw({unauthorized : "You are not allowed to access this resource"});
}
Поскольку у меня нет опыта работы с CouchDB, и я нигде не читал об этом подходе, я хотел бы знать, может ли этот подход работать.
Это способ реализовать доступ на чтение или я злоупотребляю списками для неправильной цели? Не стоит ли ожидать, что такое простое решение возможно с CouchDB?