CRM核心模块drupal中的联系表单

时间:2014-02-15 08:28:26

标签: drupal drupal-7 drupal-modules drupal-views drupal-theming

我面临CRM Core联系人模块的问题。实际上我想为联系表单启用安全权限,以确保其他用户看不到用户添加的联系人。

您能否建议我如何处理这种情况。

由于 Garg

1 个答案:

答案 0 :(得分:0)

CRM Core中没有允许您根据用户限制访问权限的权限。用户可以访问联系人,也可以不访问联系人。

您可以为联系人创建自定义访问回调。 hook_crm_core_entity_access使您可以为站点定义自定义访问规则,并在crm_core_contact_access中调用它。

要限制对用户创建的联系人的访问,您可以执行以下操作:

<?php
  function MYMODULE_crm_core_entity_access ($op, $contact, $account, $entity_type){
    if($op == 'edit'){
      global $user;
      if($user->uid !== $contact->uid){
        return false;
      }
    }
    return true;
  }
?>

请注意,系统是以这种方式设计的,并且CRM Core的访问控制与节点/用户的访问控制不同。为联系人创建自定义访问功能时,请务必花时间测试您的工作。作为一个网站负责人,将所有联系方式暴露给全世界都是一件坏事。

我测试自定义访问规则的方式如下:

1)测试他们不允许匿名访问联系人

2)测试他们不允许任何经过身份验证的用户访问联系人(除非这是您想要的)

3)测试他们不允许超出测试对象的访问

4)测试他们是否允许访问您的测试主题