2012-05-23 13 views
17

Ich muss einen CouchDB-Benutzer erstellen, der nur Dokumente aus jeder Datenbank lesen kann, aber keine davon schreiben kann. Soweit es mich betrifft, ist es nicht das, was standardmäßig unterstützt wird (Benutzertypen sind beschrieben here).CouchDB-weite schreibgeschützte Zugriffsrechte

Da das Wiki sagt, Zugriffsrechte werden pro Datenbank gegeben, so scheint es, was ich versuche zu tun ist nicht der beste Weg, CouchDB zu verwenden.

Wie auch immer, es wäre toll, das zu tun. Könnten Sie mir bitte ein paar Tipps geben, wie Sie das umsetzen können?

Antwort

22

Sie müssen ein Design-Dokument in jede Datenbank einfügen, die diese Regel durchsetzen soll. Das Design-Dokument muss eine 'Validierungsfunktion' haben, die nach etwas auf dem Benutzer überprüft, das sagt, ob sie Schreibzugriff haben oder nicht.

Hier ist ein Kapitel validation functions bilden die offizielle CouchDB book.

Und noch besser, here ist eine Validierungsfunktion, mit der Administratoren nur ein Dokument ändern und normale Benutzer auf schreibgeschützten Zugriff beschränken können. Here können Sie eine Erklärung der Funktion finden.

+0

Oh, vielen Dank, Ryan! Es hat mir sehr geholfen, obwohl es ein wenig inkonsequent ist, die Update-Validierungsfunktion in das Design-Dokument jeder Datenbank aufzunehmen. –