我的应用是 AngularJS。在我的服务中,我有几个登录功能......
login: function(tag,pass) {
return $http.post(this.databaseUrl + "_session/", {"name":tag,"password":pass});
},
loginGet: function() {
return $http.get(this.databaseUrl + "_session");
},
在我的控制器中,我有...
$scope.init = function() {
dataFactory.login("mark","myPassword")
.then(function (response) {
console.log('dataFactory.login.post response...');
console.log(response);
dataFactory.loginGet()
.then(function (response) {
console.log("dataFactory.loginGet response...");
console.log(response);
});
});
};
这是我在控制台中看到的...
请注意,帖子后返回的角色是正确的。它们是“标记”的角色,但请注意返回的 json 中的空白名称。以下对 _session 的 get 调用返回 Ok,但名称再次为空。所有后续访问数据库都返回 401“未授权”错误,因此身份验证失败。为什么它似乎在尝试/部分验证但不是真的?!?!
在沙发配置中,我有……</p>
httpd部分:
- 绑定地址 = 0.0.0.0
- enable_cors = 真
cors部分:
- 凭据 = 假
- 起源 = *
couch_httpd_auth 部分:
- allow_persistent_cookies = true
- authentication_db = _users
- 要求有效用户=假;
这个数据库的安全对话框看起来像......
我可以绕过 401 错误的唯一方法是清除此对话框上的成员名称/角色框。这根本不是解决方案。
你能看出我做错了什么吗?
非常感谢你的帮助。几天来我一直在尝试并失败了:-/