2017-04-19 11 views
1

우리 회사에서는 IBM Domino를 10 년 이상 사용하고 있습니다. 우리는 이것을 사용하여 복제 지원이 포함 된 오프라인 애플리케이션을 구축합니다. 잘 작동하지만 IBM Notes 클라이언트를 사용하여이 기능을 허용해야하며 모바일 장치에서는 작동하지 않습니다 (물론 Windows 랩톱 제외).권한 관리가있는 오프라인 회사 애플리케이션 용 PouchDB + CouchDB

오프라인으로 처음 지원되는 여러 가지 지원 (웹) 응용 프로그램을 만드는 다른 솔루션을 찾고 있습니다. CouchDB + PouchDB가 최상의 솔루션이라고 생각합니다. 하지만 도미노를 대체하기 위해서는 인증 기능을 교체해야합니다.

Domino에는 데이터베이스 ACL (Manager, Designer, 작성자, 작성자, 판독기 등)에 대한 다양한 수준의 권한이 있습니다. 각 문서에 대해 독자저자 필드를 추가하여 문서를 쓰고 읽을 수있는 사람을 제한 할 수 있습니다.

예를 들어, Domino와 CRM을 함께 사용하면 직원은 고객과 고객 계층을 낮추는 직원의 고객을 읽고 쓸 수 있습니다. 그는 또한 지리적 영역의 고객을 볼 수 있습니다 (쓰기 없음).

Domino에서이를 수행하기 위해 모든 고객 문서에서 독자와 저자 필드를 (매일 밤마다) 계산합니다. CouchDB에서 어떻게하면 좋을까요? 가능한가? 쇼 또는 필터 기능 (CouchDB/PouchDB partial syncs with limited rights) 사용자 당

  • 한 데이터베이스

    • 부분 동기화 :

      나는에 대한 많은 가능성을 참조하십시오. (어떻게 분할 데이터베이스 내 경우에는?)에서 내 필요에 맞게 필터 기능을 구현할 수있는
    • 이 ACL은 (https://github.com/ermouth/covercouch)
    • 내 자신의 프록시를 개발 관리 covercouch 같은 프록시 응용 프로그램을 사용?

    위의 문제를 해결하는 가장 좋은 해결책은 무엇입니까?

  • +0

    네 말이 맞아, 위의 질문을 지정합니다. – Dorian

    +0

    많이 개선되었습니다. 감사! – Flimzy

    답변

    3

    Apache CouchDB에는 문서 별 권한이 없습니다. 필터링 된 복제를 사용하여 데이터의 하위 집합 만 복제 할 수는 있지만 필터링 된 복제를 액세스 관리의 한 형태로 사용하면 안됩니다. 현재 유일한 실용 가능한 옵션은 사용자 당 하나의 데이터베이스 접근 방식을 취하는 것입니다.

    • 아파치 CouchDB를 2.0에서 couch_peruser configuration option을 사용하여 _users 데이터베이스에서 생성 된 모든 사용자에 대한 데이터베이스를 작성하고 읽고 자신의 데이터베이스에 쓸 수있는 해당 사용자 권한을 부여합니다 : 당신은 여기에 몇 가지 옵션이 있습니다.
    • 기본적으로 위에서 설명한대로 자신의 구성표를 굴립니다.
    • Cloudant Envoy을 사용하면이 데이터를 실제로 하나의 데이터베이스에 저장하는 동안 환상의을 PouchDB와 같은 복제 대상에 사용자 당 하나의 데이터베이스로 제공 할 수 있습니다. Cloudant Envoy를 사용하는 방법에 대한 자세한 내용은 Cloudant Envoy Apps에 대한 인증, Part IPart II을 확인하십시오.
    • Hoodie을 사용하십시오. Hoodie는 서버의 Apache CouchDB와 클라이언트의 PouchDB를 활용하여 Offline First 응용 프로그램의 전체 백엔드입니다. Hoodie는 사용자 관리, 데이터 지속성, 데이터 동기화 및 기타 여러 기능을위한 API를 제공합니다.