gpt4 book ai didi

javascript - 解析服务器云代码 - 检查用户名

转载 作者:行者123 更新时间:2023-11-30 12:04:28 24 4
gpt4 key购买 nike

我刚刚从解析切换到使用 AWS 和 Mongolab 的解析服务器。目前我尝试在服务器的 main.js 中编写一些对云部分的验证。

添加下面的代码后,这是保存到类“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

关于javascript - 解析服务器云代码 - 检查用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com