2017-02-02 1 views
0

인증 된 사용자 만 데이터베이스의 클래스를 수정하도록 할 수 있습니다. 예 :인증 확인 - 파스 클라우드

Parse.Cloud.beforeSave(("anything (I don't know how") => { 
    // Something like this 
    if (!verify(request.user)) { 
     response.error("Not authenticated/Token is invalid"); 
     return 
    } 
    // ... 
    response.success(); 
}); 

의견이 있으십니까? Parse를 처음 사용하는 경우입니다. ,

function verify(user) { 
    var sessionToken = user.getSessionToken(); 

    if(!sessionToken) 
     return false; 
    else 
    { 
     var query = new Parse.Query(Parse.Object.extend("_Session")); 
     query.first({useMasterKey:false, sessionToken:sessionToken }) 
      .then(function(validSessionToken){ 
       //User is signed in, and has a valid token (not expired yet) 
       return true; 
      }) 
      .fail(function(){   
       //User doesn't have a valid sessionToken 
       return false; 
      }); 

    } 
} 

아이디어가 "확인"하는 것입니다 요청 객체와 같은 sessionToken을 갖는 _SESSION 개체를 찾고, _SESSION 클래스에 쿼리를 실행하여 sessionToken :

+1

특정 클래스를 수정/작성/읽기하기 위해 액세스를 제한하려면 CLP를 사용할 수 있어야합니다. 이를 설정하려면 대시 보드를 준비해야합니다. 그러나 이것들은 당신이 어떤 역할과 사용자가 각 클래스의 어떤 행동을 preform 할 수 있는지를 지정하게합니다. – EReid

+0

@EReid 구문 분석 대시 보드를 설치했지만 역할을 추가하는 방법을 찾을 수 없습니다. – Etgar

+0

아마도 다른 질문에 가장 적합 할 것입니다. 그러나 Role 클래스에 행을 추가 할 수 있습니다. 그리고 해당 항목의 사용자 관계에 사용자를 추가 할 수 있어야합니다. 이것은 또한 프로그래밍 방식으로도 수행 할 수 있습니다. 특정 클래스의 보안을 유지하기 위해 보안을 설정하고 새 역할을 추가 할 수 있습니다. 여기서 구문 분석 안내서의 보안 섹션을 살펴 보는 것이 좋습니다. https://parseplatform.github.io/docs/js/guide/ – EReid

답변

0

는이 같은 verify() 기능을 구현해야 MASTER_KEY를 사용하지 않습니다.

sessionToken이 있으면 MASTER_KEY를 사용하여 액세스 할 ACL과 현재 sessionToken을 가진 사용자가 있으므로 반환됩니다.

MASTER_KEY가 아니라 query에서 sessionToken을 사용하면 다른 세션 토큰을 제외한 다른 세션 토큰을 볼 수 없습니다.

관련 문제