公共重写私有数据库

时间:2017-10-05 14:49:55

标签: authentication couchdb

我正在创建单页 CouchApp,使用_attachments直接从CouchDB提供JavaScript应用程序。我已经设置了一个vhost到db/_design/ddoc/_rewrite来实现这个目标。

数据库中的数据只能由_users数据库中的某些用户查看,这可以通过将其作为成员添加到db/_security文档来实现。

我希望打包PouchDB的单页面应用程序控制获取数据,并通过pouchdb-authentication执行身份验证。这就是问题所在:我无法在进行身份验证之前访问该应用程序。

这引出了我的问题;有没有办法将设计文档中的_attachments公开给未经身份验证的用户,没有授予每个人访问数据库其余部分的权限?目前我正在努力将我的应用程序存储在一个没有任何成员的单独数据库中,但我更愿意使用单个数据库并使用权限系统进行处理。

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的。你可以尝试的一些事情是:

  • 在一个公开且空的数据库中创建身份验证应用,然后从那里重定向到您的应用(您必须位于同一个域中)。
  • 在CouchDB之外创建身份验证应用,并使用代理服务来自同一域的所有内容。
  • 这是非常不安全和次要的但是出于测试目的,您可以在应用程序中启用Basic Auth,这将为您提供一种在拒绝访问数据库之前通过浏览器进行身份验证的方法。 / LI>