2012-05-23 29 views
17

Potrzebuję utworzyć użytkownika CouchDB, który może tylko czytać dokumenty z dowolnej bazy danych, ale nie może ich zapisać. Jeśli chodzi o mnie, to nie jest to, co jest obsługiwane domyślnie (typy użytkowników są opisane here).Prawa dostępu tylko do odczytu CouchDB

Jak mówi wiki, prawa dostępu są przyznawane na bazę danych, więc wydaje się, że próbuję to zrobić, nie jest najlepszym sposobem korzystania z CouchDB.

W każdym razie byłoby wspaniale to zrobić. Czy możesz dać mi kilka wskazówek, jak to wdrożyć?

Odpowiedz

22

Będziesz musiał umieścić dokument projektowy w każdej bazie danych, aby wymusić tę regułę. Dokument projektowy będzie musiał mieć "funkcję walidacji", która sprawdza, czy coś na użytkowniku mówi, czy ma dostęp do zapisu, czy nie.

Oto rozdział na temat validation functions od oficjalnego CouchDB book.

A jeszcze lepiej, here to funkcja sprawdzania poprawności, która pozwala administratorom modyfikować dokument i ograniczać zwykłych użytkowników do dostępu tylko do odczytu. Here można znaleźć wyjaśnienie funkcji.

+0

O, dziękuję bardzo, Ryan! Bardzo mi to pomogło, chociaż dodawanie funkcji sprawdzania poprawności do każdego dokumentu projektu db jest trochę sprzeczne. –