我使用CouchDB对我的应用程序的用户进行身份验证,它本质上只是一个CouchDB数据库的前端,所以从逻辑上讲,我使用此代码对用户进行身份验证
httpget(http://wrongusername:wrongpassword@mycouch.com:5984) //not my actual code返回的响应应该是
{"error":"unauthorized","reason":"Name or password is incorrect."}就像我用cURL连接相同的网址时一样。但是,无论我输入什么作为用户名和密码,它都会返回
{"couchdb":"Welcome","version":"1.2.0"}我知道我没有以某种方式在代码中存储有效的URI或响应,因为我更改了HttpGET的参数以返回_all_docs,并且它已经返回了所有文档,而这是普通用户不能做到的。我没有修改任何配置文件,登录信息也没有存储在数据库中的任何位置
发布于 2014-06-11 15:30:41
您确定您要访问的CouchDB实例与您设置用户的实例相同吗?客户端,甚至不是Android,有一种绕过身份验证的方法。
发布于 2014-06-11 13:53:10
Couchdb使用会话cookie进行身份验证,也许您以前授权到couchdb的http客户端并保留了cookie?
我能想到的另一件事是:除非将require_valid_user设置为true,否则couchdb只限制对单个数据库的访问,这就解释了/上的“欢迎”消息。
https://stackoverflow.com/questions/24115749
复制相似问题