Vorrei che le persone fossero in grado di condividere documenti in privato, utilizzando un collegamento con un ID casuale, come quello che ottengo dopo aver pubblicato un collegamento privato a un pastebin. Voglio sapere sia per CouchDB che per Cloudant in generale.Posso limitare gli utenti non autenticati all'accesso a _all_docs?
risposta
Con Apache CouchDB, l'autorizzazione di lettura è per-database, non per documento. Se un utente può recuperare un documento da un database, l'utente può recuperare anche _all_docs?include_docs=true
.
Ho scritto dettagli in questa domanda su CouchDB read authorization.
ci sono alcuni approcci:
Layer-7 firewall o proxy inverso HTTP. Questo è difficile da fare correttamente; IMO non è fattibile per la maggior parte. Devi essere molto familiare con l'API di CouchDB per assicurarti che ogni possibile query sia bloccata (ad esempio,
_rewrite
aggirando il tuo filtro).Un database per utente. Questa è la soluzione nativa di CouchDB. La creazione di database è molto economica. Quindi, replicare i documenti che l'utente può visualizzare nel proprio database. L'utente ha bisogno di una password sul divano o di un account OAuth.
Ho avuto successo recentemente con i database per utente ma anche una chiave univoca nell'URL che garantisce loro l'accesso immediato. Sembra la cosa che vuoi, tuttavia sotto il cofano sto solo creando account usa e getta con password casuali. Il collegamento passa a una pagina pubblica come
www.example.com/pastebin/index.html?doc_id=some_docid&secret=random_secret
. Quindi Javscript sul browser leggewindow.location
e inserisce tale password nella query AJAX (in un'intestazione Autorizzazione). Il divano concede il permesso e l'utente è felice. Sfortunatamente, questo ha richiesto un po 'di prove ed errori; tuttavia è per lo più semplice programmazione web.
- 1. limitare tutti gli utenti a 1 sessione
- 2. Come posso limitare gli utenti API del mio sito?
- 3. Come nascondere il mio menu agli utenti non autenticati?
- 4. Tastypie - Consenti permessi di sola lettura per gli utenti non autenticati lasciando permessi di scrittura autorizzati
- 5. Come disattivare la cache di output per gli utenti autenticati in ASP.NET MVC?
- 6. Reindirizzare gli utenti non autorizzati asp net
- 7. Sito Web. VoteUp o VoteDown Videos. Come limitare gli utenti a votare più volte?
- 8. Oracle - concedere privilegi a tutti gli utenti
- 9. Come reindirizzare gli utenti a una pagina ASP.NET quando non sono autorizzati?
- 10. Vincolo di sicurezza in web.xml per utenti autenticati senza appartenenze ai ruoli
- 11. Gli utenti 'Utente' @ '%' e 'Utente' @ 'localhost' non sono gli stessi?
- 12. Come posso gestire/limitare l'accesso degli utenti ai servlet e ai jsp?
- 13. Aggiungere gli attributi firmati/autenticati alla firma CMS utilizzando BouncyCastle
- 14. Come limitare gli utenti che possono eseguire test jenkinsfile nelle richieste pull?
- 15. Come posso limitare Parallel.ForEach?
- 16. Rileva gli utenti online?
- 17. Criteri IAM per limitare gli utenti alle istanze in un VPC specifico
- 18. shell Linux per limitare gli utenti sftp alle loro directory home?
- 19. Pagamento tramite e-commerce: come posso pagare gli utenti?
- 20. Non consentire agli utenti anonimi di accedere a Sonar
- 21. come posso autenticare gli utenti fuori dai binari con authlogic?
- 22. Permetti solo agli utenti autenticati di passportjs di visitare la pagina protetta
- 23. Firebase - Conta gli utenti online
- 24. Come posso conoscere gli utenti online del mio sito web
- 25. Ruby aws-sdk: concedere l'autorizzazione a tutti gli utenti
- 26. Posso limitare un parametro generico a * not * essere facoltativo?
- 27. Come posso limitare Java Generics
- 28. MySQL sinistra outer join, escludere gli elementi a seconda tavola appartenenti a utenti
- 29. Dove posso trovare utenti beta?
- 30. Django Ottieni tutti gli utenti
Jason: Hai un blog? Mi piacerebbe leggerlo! – Locohost
Oh, sei Iriscouch Jason Smith! Mi scuso per non averlo saputo nel mio ultimo commento: - / – Locohost