我正在调用以下代码:
$.couch.login($.extend({ name: "harry", password: "secrets"}, callback));
$.couch.session(callback);
其中“harry”只是我使用$.couch.signup
和callback
创建的虚拟用户,是一个简单的对象,用这些主体指定成功/错误/完整函数:
success: function (data) {
console.log('Success');
console.log(data);
}
此代码返回以下内容:
Success
Object {ok: true, name: "harry", roles: Array[0]}
Success
Object {ok: true, userCtx: Object, info: Object}
第一次返回没问题,但第二次返回session
,userCtx
对象基本上是空的,名称为null
。
此外,当我尝试使用我的个人用户名和密码(我用作Futon管理员的用户名)登录时,会返回:
Success
Object {ok: true, name: null, roles: Array[1]}
(0: "_admin")
Success
Object {ok: true, userCtx: Object, info: Object}
而且令人着迷的是,第一个请求知道似乎知道我是管理员,但没有得到任何其他数据,第二个请求与前一个例子做同样的事情。
有什么想法?我没有正确使用$.couch.session
吗?我的沙发实例有问题吗?
仅供参考我使用的是1.4.0版,并且是从源代码构建的。
答案 0 :(得分:1)
事实证明,我真正需要的只是apache reverse proxy。沙发实例无法访问AuthSession
cookie,因为它来自端口5984
。现在情况很好,以下内容已添加到我的apache2.conf
(某些人可能会httpd.conf
)
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
ProxyPass /_couch http://localhost:5984 nocanon
ProxyPassReverse /_couch http://localhost:5984