我有注册用户下面的方法:如何自动将角色分配给CouchDB用户?
// Registration method
exports.register = function(req, res) {
var username = req.body.username,
password = req.body.password,
first = req.body.first;
last = req.body.last;
role = req.body.institution;
nano = require('nano')('http://127.0.0.1:5984');
var users = nano.use('_users');
var user = {
"_id": "org.couchdb.user:" + username,
"name": username,
"type": "user",
"roles": [],
"password": password,
"realname": first + " " + last
};
users.insert(user, function(err, body) {
if(err) {
res.send(err.reason, err.status_code);
} else {
res.send(body, 200);
}
});
};
正如你所看到的,我有我想的“角色”阵列中设置一个变量叫做作用。不幸的是,你可能知道,CouchDB只允许管理员设置角色。我对此没有问题,但是我将这些角色当作机构使用,所以我希望注册用户能够选择他们正在注册的机构,因此它应该自动将这些角色分配给他们。没有将我的管理凭据硬编码到此方法中,即 nano.config.url = "http://admin:[email protected]:5984/"
如我所述,如何自动将新用户分配给他们指定的角色?
谢谢!你是对的,这是一个非安全功能。我认为我会很聪明并且使用角色而不是添加自己的领域,但是你解释它的方式是有道理的。谢谢! – 2013-03-10 02:44:56