我使用Parse数据库。我希望能够访问简单用户和管理员用户。这将是每个用户只能看到他/她自己的数据,但管理员用户可以看到所有用户的数据。
我创建了一个ParseUser,如果当前用户与它相同,则应该知道它是admin用户。
我收到以下错误:
java.lang.IllegalArgumentException:对于具有null id的用户,不能setReadAccess
我认为错误在于if函数(永远不会变为真)和这个:acl.setReadAccess(ADMIN,true);
有人可以提出建议吗?
ParseUser ADMIN = new ParseUser();
ADMIN.setUsername("ADMIN3");
ADMIN.setPassword("a");
// Create a post.
AnywallPost post = new AnywallPost();
// Set the location to the current user's location
post.setLocation(geoPoint);
post.setText(text);
post.setUser(ParseUser.getCurrentUser());
ParseACL acl = new ParseACL();
// Give read accesses
if (ParseUser.getCurrentUser() == ADMIN) {
acl.setReadAccess(ParseUser.getCurrentUser(), true);
}
else
{
acl.setReadAccess(ParseUser.getCurrentUser(),true);
acl.setReadAccess(ADMIN,true);
}
post.setACL(acl);
// Save the post
post.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
dialog.dismiss();
finish();
}
});