这是我第一次在Parse中使用安全角色,我相信我想要做的事情相当简单。我想在使用CloudCode中的afterSave触发器注册新用户后创建新的安全角色。
我已经确认调用了这个并且roleName是正确的,但数据浏览器中没有保存任何内容。我觉得我错过了一些非常基本的东西,因为这不能正常工作 - 我需要打开哪个环境吗?
Parse.Cloud.afterSave(Parse.User, function(request, response) {
var user = request.object;
if (user.existed()) { return; }
var acl = new Parse.ACL();
acl.setPublicReadAccess(false);
acl.setPublicWriteAccess(false);
var roleName = user.get("email");
Parse.Cloud.useMasterKey();
var companyRole = new Parse.Role(roleName, acl);
console.log("Role = " + companyRole);
companyRole.save();
});
答案 0 :(得分:0)
找到解决方案。在Parse中,角色的名称只能包含字母,数字和下划线。我试图将角色名称设置为电子邮件地址,其中包含“@”和“。”
在我保存名字并完美地工作之前,我对这些字符进行了替换。我希望Parse在尝试使用无效字符进行保存时会抛出错误但现在问题已解决。