我对Parse很陌生,刚刚设置了parse-server
和parse-dashboard
我想限制对RESTneneneba API的访问(当我为诸如http://localhost:1337/parse/classes/posts)仅适用于某些用户。
为此,我设置了一个具有管理员名称的角色,并添加了一个用户
我创建了ACL使用:
var posts = new Parse.Object("posts");
var postsACL = new Parse.ACL();
postsACL.setRoleWriteAccess("Administrator", true);
posts.setACL(posts);
posts.save();
之后,我运行了另一个脚本,将一个用户添加到此角色:
Parse.User.logIn("username", "password", {
success: function(user) {
console.log('User logged in');
var role = new Parse.Role("Administrator", new Parse.ACL());
role.getUsers().add(user);
role.save();
console.log('Role saved');
},
error: function(user, error) {
console.log('Login failed');
}
});
如果我在分析面板上检查,我会看到一个名为管理员的角色,如果我点击用户,我会发现我的用户。
但当我尝试发布帖子(使用Postman
)时,我可以在不进行身份验证的情况下插入帖子集合。
有人能帮我吗?
您设置的acl仅适用于该对象。我认为班级级别的权限是你想要的。http://blog.parse.com/learn/secure-your-app-one-class-at-a-time/
顺便说一句,可以在没有仪表板的情况下修改这些权限。https://github.com/ParsePlatform/Parse-Server/wiki/Compatibility-with-Hosted-Parse#class-级别权限