Parse.com 安全角色未保存

Parse.com security Role not saving

这是我第一次在 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();

});

找到解决方案。在 Parse 中,角色的名称只能包含字母、数字和下划线。我试图将角色名称设置为电子邮件地址,其中包含“@”和“.”

我在保存名称之前对这些字符进行了替换并且效果很好。如果尝试使用无效字符保存,我希望 Parse 会抛出错误,但现在问题已解决。