Session 在couchdb'中附加一些属性;s用户CTX

Session 在couchdb'中附加一些属性;s用户CTX,session,couchdb,Session,Couchdb,正如我所知,couchdb支持_会话来获取userCtx 如果我在登录后请求它,那么我会得到如下结果 {“ok”:true,“userCtx”:{“name”:“bob4”,“roles”:[“manager”]},“info”:{“authentication\u db”:“\u users”,“authentication\u handlers”:[“oauth”,“cookie”,“default”],“authenticated”:“cookie”} 实际上,这个结果是基于a_用户的文档

正如我所知,couchdb支持_会话来获取userCtx

如果我在登录后请求它,那么我会得到如下结果

{“ok”:true,“userCtx”:{“name”:“bob4”,“roles”:[“manager”]},“info”:{“authentication\u db”:“\u users”,“authentication\u handlers”:[“oauth”,“cookie”,“default”],“authenticated”:“cookie”}

实际上,这个结果是基于a_用户的文档

我希望通过会话可以从用户的文档中获得更多信息

让我给你举个例子

如果我生成一个文档,一个用户信息,在用户中有一些属性是“e-mail”

然后,在登录后请求会话

我希望得到一个包含电子邮件属性的结果,如下所示

{“ok”:true,“userCtx”:{“name”:“bob4”,“e-mail”:”joeh@gmail.com“,“角色”:[“管理者”]},“信息”:{“身份验证数据库”:“\u用户”,“身份验证处理程序”:[“oauth”,“cookie”,“默认”],“身份验证”:“cookie”}”

是否可以在couchdb中向_会话的结果附加一些属性


提前谢谢。

我向cloudant.com询问

他的答复如下。谢谢罗布·奥布莱恩


这是正确的。CouchDB目前不支持在会话响应数据中添加额外的userCtx属性。

您可以直接从
\u用户
数据库请求该信息。另外,我相信当
userCtx
被传递到
\u列表
/
\u show
函数时,您将获得所有扩展属性。1。我认为直接访问客户端(app)是非常危险的。因为这意味着任何人在用户数据库上获取文档,md5编码的密码将被公开。所以我的解决方案是-在_usersdb的_security上附加一个admin用户-在couchdb前面安排nginx在nginx配置上附加一个头,authentication,以仅允许管理员使用PUT方法-这意味着关于_用户的操作将仅允许使用PUT方法(注册)3。因此,我正在寻找解决方案,以获得我想要的会话结果4。确切地说,我想知道userCtx是如何生成的,以及如何修改它以获得一些已经附加在用户文档中的信息