解析服务器云代码 - 检查用户名
Parse Server Cloud Code - Checking Username
我刚刚从解析切换到使用 AWS 和 Mongolab 的解析服务器。目前我尝试在服务器main.js中向云部分写入一些验证。
添加下面的代码后,这是保存到class"posts"之前的验证。我希望它检查登录用户的用户名是否等于指定值。然而,在添加这个之后,我什至无法使用我曾经登录过的任何用户登录我的应用程序。它说密码或用户名错误。
Parse.Cloud.beforeSave('posts', function (req, res) {
var uname = 'xxxxx';
var user = Parse.User.current();
user.fetch().then(function(fetchedUser){
uname = fetchedUser.getUsername();
},
);
if (uname != 'michael') {
res.error('This user is not allowed');
} else {
res.success();
}
});
我也使用下面的云代码,但它工作正常:
Parse.Cloud.beforeSave('tweets', function (req, res) {
if (req.object.get('name') != 'jeniffer') {
res.error('This user is not allowed');
} else {
res.success();
}
});
代码有两个主要问题。首先,Parse.User.current() 不能与 parse-server
一起使用,其次,promises 语法有点错误。试试这个:
Parse.Cloud.beforeSave('posts', function (req, res) {
req.user.fetch().then(function(fetchedUser){
var uname = fetchedUser.getUsername();
if (uname !== 'michael') {
res.error('This user is not allowed');
} else {
res.success();
}
}, function(err) {
res.error(err);
});
});
此外,posts
听起来像是一个奇怪的集合名称。应该是 Post
.
我刚刚从解析切换到使用 AWS 和 Mongolab 的解析服务器。目前我尝试在服务器main.js中向云部分写入一些验证。
添加下面的代码后,这是保存到class"posts"之前的验证。我希望它检查登录用户的用户名是否等于指定值。然而,在添加这个之后,我什至无法使用我曾经登录过的任何用户登录我的应用程序。它说密码或用户名错误。
Parse.Cloud.beforeSave('posts', function (req, res) {
var uname = 'xxxxx';
var user = Parse.User.current();
user.fetch().then(function(fetchedUser){
uname = fetchedUser.getUsername();
},
);
if (uname != 'michael') {
res.error('This user is not allowed');
} else {
res.success();
}
});
我也使用下面的云代码,但它工作正常:
Parse.Cloud.beforeSave('tweets', function (req, res) {
if (req.object.get('name') != 'jeniffer') {
res.error('This user is not allowed');
} else {
res.success();
}
});
代码有两个主要问题。首先,Parse.User.current() 不能与 parse-server
一起使用,其次,promises 语法有点错误。试试这个:
Parse.Cloud.beforeSave('posts', function (req, res) {
req.user.fetch().then(function(fetchedUser){
var uname = fetchedUser.getUsername();
if (uname !== 'michael') {
res.error('This user is not allowed');
} else {
res.success();
}
}, function(err) {
res.error(err);
});
});
此外,posts
听起来像是一个奇怪的集合名称。应该是 Post
.