我正在尝试根据登录用户过滤我的文档集。 我按照cloudant.com的人员给出的instructions for auth,创建了一个_user db,它可以工作。
现在我的问题是:是否可以向用户对象添加一些ad-hoc键并从我的代码中检索它,并使用jquery.couchLogin等一些js插件?
我想要创建的例子:
{
"_id": "org.couchdb.user:agata",
"_rev": "1-03a67c25da054b5f24d215f4db059d71",
"name": "agata",
"type": "user",
"roles": ["admin"],
"password_sha": "***",
"salt": "***",
"MYKEY1":"my val",
"MYKEY2":"my val2"
}
然后检索MYKEY1和MYKEY2 ....
我已经尝试使用$ .couchLogin,但我可以检索的只是一个userCtx对象,它只报告上面的一些字段(名称,角色)。看来我应该使用couchdb代码来向userCtx对象添加键,我真的不想这样做。
是否有更简单的解决方案?
答案 0 :(得分:3)
由于这个问题没有得到答案,我在这里报告了cloudant支持的答案:
您无法在Cloudant的用户文档中存储该信息 出于安全目的的公共集群。如果你是的话,你可以 运行CouchDB,BigCouch或私有Cloudant集群。
但是,您可以将该信息存储在您的某个数据库中 有客户端(假设它是一个应用服务器,而不是一个浏览器)做 过滤和权限。
所以我现在的策略是
我会及时通知您,以确认其有效以及我遇到了哪些问题。
<强>更新强>
有效! 所以策略基本上是建立两个数据库:
所以我所做的就是创建第二个数据库,其文档结构如下:
{"_id":"org.couchdb.user:USERONE",
"name":"USERONE",
"type":"user",
"roles":["user"],
"filters":{"FILTER1":"VAL1","FLTER2":"VAL2"}}
然后,当用户(比如说USERONE)成功登录时,也会检索此文档,并使用“filters”字段来过滤我的集合。
某种解决方法,但它运行稳健