CouchDB 和 PouchDB 普通用户可以创建数据库
CouchDB and PouchDB plain users can create Databases
我不希望普通用户能够创建数据库。
在 Futon Screen /_utils 中,当以普通用户身份登录时,一切都按预期运行。只有管理员可以创建数据库。
但是当我将 pouchDB 与 couchDB 同步时,普通用户也可以创建(复制?)数据库。我希望添加新数据库仅限于管理员用户。
我还注意到,即使用户受到限制,现有数据库也会被编辑。
我该如何解决这个问题?
var remoteCouch = http://testuser:testuser@{domain}.iriscouch.com/testdb;
PouchDB.debug.disable();
if (remoteCouch) {
sync();
} else {
console.log("No remote server.");
}
function sync() {
var opts = {live: true};
db.replicate.to(remoteCouch, opts, syncError);
db.replicate.from(remoteCouch, opts, syncError);
}
编辑
测试用户也不在/_config/admins
测试用户:
{
"_id": "org.couchdb.user:testuser",
"_rev": "1-7d28b3388a62cfca103cbe3642549bee",
"password_scheme": "pbkdf2",
"iterations": 10,
"type": "user",
"name": "testuser",
"roles": [
"testuser"
],
"derived_key": "2181a44141d6d6aa2061bb2c5c057451acc6461e",
"salt": "2184888b099f37605feca0a22e5b6bb9"
}
您的 CouchDB 是否处于管理员模式?如果不是,那么只有管理员才能创建数据库,无论是通过 Futon 还是 PouchDB。
PouchDB 没有做任何特别的事情;您可以使用 curl:
模拟 PouchDB 正在做什么
curl -X PUT http://someuser:somepassword@path.to.couchdb.com:5984/somedatabase
您确定您的 testuser
不是管理员吗?如果您给 PouchDB 的用户是管理员,那么是的,用户将能够创建自己的数据库。
可在此处找到有关身份验证的更多信息:https://github.com/nolanlawson/pouchdb-authentication#couchdb-authentication-recipes
我不希望普通用户能够创建数据库。
在 Futon Screen /_utils 中,当以普通用户身份登录时,一切都按预期运行。只有管理员可以创建数据库。
但是当我将 pouchDB 与 couchDB 同步时,普通用户也可以创建(复制?)数据库。我希望添加新数据库仅限于管理员用户。
我还注意到,即使用户受到限制,现有数据库也会被编辑。
我该如何解决这个问题?
var remoteCouch = http://testuser:testuser@{domain}.iriscouch.com/testdb;
PouchDB.debug.disable();
if (remoteCouch) {
sync();
} else {
console.log("No remote server.");
}
function sync() {
var opts = {live: true};
db.replicate.to(remoteCouch, opts, syncError);
db.replicate.from(remoteCouch, opts, syncError);
}
编辑
测试用户也不在/_config/admins
测试用户:
{ "_id": "org.couchdb.user:testuser", "_rev": "1-7d28b3388a62cfca103cbe3642549bee", "password_scheme": "pbkdf2", "iterations": 10, "type": "user", "name": "testuser", "roles": [ "testuser" ], "derived_key": "2181a44141d6d6aa2061bb2c5c057451acc6461e", "salt": "2184888b099f37605feca0a22e5b6bb9" }
您的 CouchDB 是否处于管理员模式?如果不是,那么只有管理员才能创建数据库,无论是通过 Futon 还是 PouchDB。
PouchDB 没有做任何特别的事情;您可以使用 curl:
模拟 PouchDB 正在做什么curl -X PUT http://someuser:somepassword@path.to.couchdb.com:5984/somedatabase
您确定您的 testuser
不是管理员吗?如果您给 PouchDB 的用户是管理员,那么是的,用户将能够创建自己的数据库。
可在此处找到有关身份验证的更多信息:https://github.com/nolanlawson/pouchdb-authentication#couchdb-authentication-recipes