解析服务器云代码 - 检查用户名
Posted
技术标签:
【中文标题】解析服务器云代码 - 检查用户名【英文标题】:Parse Server Cloud Code - Checking Username 【发布时间】:2016-02-24 15:57:27 【问题描述】:我刚刚使用 AWS 和 Mongolab 从解析切换到解析服务器。目前我尝试在服务器的main.js中向云部分写一些验证。
添加下面的代码后,这是保存到“帖子”类之前的验证。我希望它检查登录用户的用户名是否等于指定值。但是,添加此内容后,我什至无法使用我曾经登录过的任何用户登录我的应用程序。它说密码或用户名错误。
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();
);
【问题讨论】:
【参考方案1】:代码有两个主要问题。首先,Parse.User.current() 不能与parse-server
一起使用,其次,promise 语法有点错误。试试这个:
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
。
【讨论】:
以上是关于解析服务器云代码 - 检查用户名的主要内容,如果未能解决你的问题,请参考以下文章