現在,領域權限是精細到數據庫(領域)級別。無法授予僅適用於給定Realm中數據子集的特定權限。
我們的路線圖上的一個高優先級項目是支持使用同步領域的部分副本的功能。與此同時,我們建議爲給定用戶創建多個專用領域來表示每個權限子集。例如,對於給定的用戶,您可能擁有一個真正的專用領域,併爲該用戶提供一個或多個代表可與其他用戶共享的數據的領域。在您的具體情況下,您可能希望爲每個項目創建一個Realm,而不是爲用戶擁有的所有項目創建一個Realm。
至於實際授予的權限,則可以創建一個RLMSyncPermissionValue
對象,並將其傳遞到適當的API上RLMSyncUser
(例如-[RLMSyncUser applyPermission:callback:]
或-[RLMSyncUser revokePermission:callback:]
)授予或撤銷許可。這需要知道用戶的身份,這是用戶創建時由Realm Object Server生成的。
您也可以創建RLMSyncPermissionOffer
對象來表示您的用戶邀請其他用戶訪問其領域(即項目)的邀請。這樣的對象會生成一個字符串,該字符串可以通過不同的渠道(例如電子郵件)傳遞給另一個用戶,並用於創建接受該報價的對象。
最後,除了我之前提到的部分複製支持之外,我們還有一些其他項目可以使協同使用同步領域變得更容易;我們希望能儘快分享更多。
很酷,我想我會爲每個項目設置不同的領域並按照您所描述的使用許可要約。謝謝 –
我看到正確的,一旦授予權限,它不能被撤銷? – EpicPandaForce
您應該可以隨時覆蓋或撤銷權限。 (撤銷權限實際上就是用「無權訪問」權限覆蓋/更新現有權限。) – AustinZ