Parse.com 安全角色未保存

Parse.com security Role not saving

本文关键字:保存 角色 安全 com Parse      更新时间:2023-09-26

这是我第一次在 Parse 中玩安全角色,我相信我想要做的相当简单。我想在使用 CloudCode 中的 afterSave 触发器注册新用户后创建新的安全角色。

我已经验证了它正在被调用并且角色名称是正确的,但数据浏览器中没有保存任何内容。我觉得我在这里缺少一些非常基本的东西,因为它不起作用 - 是否有我需要打开的设置?

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 在尝试使用无效字符保存时会抛出错误,但现在问题解决了。