2014-11-11 5 views
1

내 앱 릴리스에 대한 parse.com 데이터베이스 사용 권한을 잠급니다. 로그인 및 ACL이 여전히 작동하도록 사용자 및 역할 테이블에 권장되는 클래스 수준 권한은 무엇입니까? 그러나 나머지 API를 통해 테이블에 직접 액세스하여 사람들이 장난을 할 수는 없습니까? 나는 보안에 관한 한 시행 착오를 거치고 싶지 않으며, 문서는 아무 말도하지 않는 것 같다.parse.com : 역할 및 사용자 테이블에 대한 권장 사용 권한

"Admin"역할을 통한 액세스를 제외하고 모두 잠그고 싶습니다. 로그인 또는 가입 시스템을 방해합니까?

답변

1

다른 역할이 있습니다. 클라우드 코드 함수를 사용하여 parse.com에서 내 문서에 대한 액세스 권한을 자동으로 부여합니다. 기본적으로 전역 사용자는 사용자 계정 만 만들 수 있지만 다른 사용자 데이터는 읽을 수 없으며 역할에 CRUD 명령을 수행 할 수 없습니다. 난 당신이 만드는 전용 역할에 대한 사용자와 아무것도에있어 제대로 이해한다면 http://blog.parse.com/2014/06/30/parse-security-i-are-you-the-key-master/ https://www.parse.com/docs/data#security

Parse.Cloud.afterSave(Parse.User, function(request, response) { 
    // master key has all permissions 
    Parse.Cloud.useMasterKey(); 
    var user = request.user; 
    if (user.existed()) { return; } 
    // set ACL so only the user himself can see his own data 
    user.setACL(new Parse.ACL(user)); 
    user.save(); 
    // add user to role 
    var roleName = "member"; 
    var roleQuery = new Parse.Query(Parse.Role); 
    roleQuery.equalTo("name", roleName); 
    roleQuery.first().then(function(role) { 
    role.getUsers().add(user); 
    // save role 
    return role.save(); 
    }); 
}); 
+0

, 그 정상 가입 및 로그인 절차를 할 수 있습니다 : 또한 그 튜토리얼 및 가이드를 확인? – user1387

+0

맞습니다. 제 유스 케이스에서는 "member"라는 사용자 역할 만 필요했습니다. 위 코드는 사용자가 클라이언트 쪽에서 가입 할 때 항상 실행됩니다. –

관련 문제