【问题标题】:CRM Core Module Contact form in drupaldrupal中的CRM核心模块联系表
【发布时间】:2014-02-15 08:28:25
【问题描述】:

我遇到了 CRM 核心联系人模块的问题。实际上我想启用联系人表单的安全权限,以便用户添加的联系人不应该对其他用户可见。

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

谢谢 加格

【问题讨论】:

  • 只是一个猜测,但我希望在权限页面上可以使用这样的设置。 example.com/admin/people/permissions
  • 我尝试了该选项,但实际上每个用户也可以看到其他人的联系方式。具有空白值。

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


【解决方案1】:

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) 测试他们是否允许访问您的测试对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2014-05-31
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多