2012-03-25 4 views
4

CouchDB 애플리케이션의 사용자 데이터 구조화 방법에 대한 조언을 받고 싶습니다.CouchDB의 '_user` 테이블에 대한 CouchApp 액세스를 어떻게 제한합니까?

우리가 만들고있는 것 : 우리는 사람들에게 다양한 기술을 훈련시키는 일련의 응용 프로그램 (주로 html5의 비디오 API를 활용)을 만들고 있습니다. 우리는 몇 가지 간단한 비디오 강연과 대화식 활동으로 시작하겠습니다. 개별 사용자의 발전 상황을 저장하고 싶습니다. 가까운 미래에 사용자가 소규모 그룹과 대규모 그룹으로 나누는 미니 코스를 만들고 싶습니다. 여러 사용자가 라이브 (예 : Google 문서) 또는 장기간 (예 : 위키) 동일한 활동에 참여합니다.

개인 사용자의 개인 데이터에 우려가됩니다. 궁극적으로 우리와 사용자가 전자 메일 주소와 암호로 등록하는 것이 가장 간단합니다. 그러나 CouchDB의 _user 데이터베이스에서 데이터에 대한 읽기 액세스는 본질적으로 공개되며 모든 사용자의 이메일 주소를 공개하지는 않습니다. 그 이메일 주소를 비공개로 만드는 방법이 가장 큰 관심사입니다. 또한 사용자가 공개하지 않는 한 모든 사용자 데이터를 비공개로 유지할 수 있다면 좋을 것입니다.

내가 몇 가지 옵션을 생각하고 위키에서이 기사 및 많은 다른 사람을 통해 읽고 : http://wiki.apache.org/couchdb/PerDocumentAuthorization

정말 아직 아무것도쪽으로 기울고 있지 않다, 그리고 몇 가지 조언을 사랑하는 것입니다.

답변

2

곧 출시 될 CouchDB-1.2.0에서 _users 데이터베이스의 문서는 인증 된 각 사용자 및 관리자 만 읽을 수 있습니다.

+0

진실 ?! 따라서 특정 사용자로 로그인하면 다른 사용자의 데이터를 읽을 수 없습니까? – Costa

+0

예, _users 데이터베이스에만 있습니다. –

+0

그냥 테스트 한 결과 정말 잘 작동합니다. 사용자는 POST를하고 (아마도) 자신의 _user 문서를 삭제할 수 있지만 다른 사람을 읽을 수는 없습니다. 그들이 다른 사람의 의사를 얻을 때 그들은 응답에서 "실종"을 당한다. 다른 사용자가 존재한다는 유일한 힌트는 _user db의 doc_count뿐입니다. Marcello, 정말 고마워! – Costa