2012-09-03 135 views
2

我試圖在CiviCRM中設置訪問控制系統來限制某些用戶訪問某些自定義數據字段集。我打算使用Civi ACL來實現這一點,不過我的理解是它們被Drupal權限覆蓋,因此'CiviCRM:訪問所有自定義數據'複選框必須在Drupal權限內未被選中。然後,我將能夠使用ACL來允許這些字段只能訪問我想要的用戶。使用Drupal權限控制CiviCRM訪問

我的問題是,我創建了一個Drupal角色'crm user',並且此框未選中,但是當我以該角色的用戶身份登錄時,仍然可以看到所有的自定義數據,我不應該能夠做到。有誰知道我可能會做錯什麼?是否還有其他需要刪除的Drupal權限?

+0

要澄清,該用戶還沒有通過ACL的任何額外的權限,他只是一個Drupal用戶不應該有權訪問自定義數據字段,因爲相關的Drupal權限沒有設置? – tog22

+0

是的,確切地說。感謝您的澄清。 – user1643270

回答

1

如果用戶具有「Administer CiviCRM」的Drupal訪問權限,那將覆蓋「CiviCRM:訪問所有自定義數據」設置。

因此,任何具有「管理CiviCRM」Drupal訪問權限的用戶都可以訪問CiviCRM自定義數據,而不管「CiviCRM:訪問所有自定義數據」的設置如何。

2

確保您的'crm用戶'角色具有所需的最低權限。正如@ Flying的答案中所指出的那樣,'管理CiviCRM'權限允許用戶訪問整個CiviCRM,因此覆蓋'訪問所有定製數據'權限。

請注意,如果您在公開的配置文件或表單中使用自定義數據字段,這些字段或表單需要匿名用戶或登錄用戶訪問,那麼這些角色需要具有「訪問所有自定義數據」權限,以便他們可以看到並完成這些領域,所以你需要小心設置你的用戶角色和權限。

一旦您擁有了Drupal權限,您就可以繼續設置您在CiviCRM中所需的ACL。