【问题标题】:How do I create a custom entity that can be read by all users?如何创建一个所有用户都可以读取的自定义实体?
【发布时间】:2013-11-05 13:54:04
【问题描述】:

有没有一种快速的方法可以通过 Customizations.xml 条目将自定义实体标记为可供所有用户阅读?

我已成功创建所需的自定义实体,但如果不创建安全角色(具有实体的读取权限)并将其应用于所有用户,似乎无法使其对新创建的用户可读。

有没有一种方法可以确保每个人(甚至是新创建的用户)都具有对自定义实体的读取权限?

【问题讨论】:

  • 根据 Draiden 指出的文档,这不是自定义实体的选项。默认情况下,所有自定义实体都分配给系统管理员可访问,其他安全角色需要手动添加实体的读/写访问权限才能访问它。

标签: dynamics-crm-2011 dynamics-crm


【解决方案1】:

对不起这个问题,但为什么你需要一个每个用户都可以读取的实体? 我的意思是在一个实体中创建记录并根据需要使用自定义视图对其进行过滤是不一样的?

【讨论】:

  • 创建的实体属于组织,而不是每个单独的用户。我希望每个人都可以阅读它,以便他们可以访问存储在其中的数据。
  • 嗨 Maixy,尝试考虑创建团队或遍历角色。
  • 嗨 Draiden,我意识到我可以创建一个角色并将其分配给每个用户,但我真的在寻找一种方法来简单地让实体的读取权限对所有人开放。从人们一直误解的方式来看,我猜这在 Dynamics CRM 中是不可能的。
  • 我不明白你的情况:S 为每个用户创建一个新实体似乎没有必要。但是,如果您仍然要这样做,请考虑创建一个包含所有用户的团队,并在团队级别分配具有新实体权限的角色(因此管理员只需手动为每个用户添加一个角色中的 1 个权限将被创建)。要管理团队,您可以在创建时使用插件并将用户分配给具有新实体权限的团队。您甚至可以应用人们在此处建议的解决方案,但这将涉及大量手动工作:S
  • 抱歉造成误解 :) 你是对的,如果不编辑安全角色,你就无法做到这一点。配置书提到,如果您添加一个新实体,则仅对系统管理员和配置者可用(但我不确定第二个安全角色的名称),因此仅适用于 2 个角色,其他角色您需要手动进行更新。
【解决方案2】:

用户至少需要一个角色才能登录,所以我建议创建一个分配给每个人的通用角色。然后,您可以授予权限以在此通用角色中读取您的实体。

当您必须允许所有人访问其他实体时,这种方法也可能对您有所帮助。

【讨论】:

  • 不幸的是,这仍然要求所有用户都被赋予这个额外的安全角色。我无法在创建每个新用户时将此角色分配给每个新用户,因此所有新创建的用户在访问自定义实体时仍会出现问题。
  • @Maixy:在分配角色之前,用户对 CRM 的访问被阻止,因此要允许他们使用系统,您至少需要分配一个角色。
  • 我明白你的意思,但作为一个插件,我认为期望系统管理员手动为每个用户(新老用户)分配自定义安全角色有点尴尬。如果有一种方法可以简单地允许插件创建的某些实体具有不受限制的读取权限,那就太好了
  • 你把我弄糊涂了。在您的插件中,您是在现有表中创建新实体(表)还是新记录?如果我们谈论的是新实体(表),您可以在插件中修改角色,以将读取权限附加到新创建的表(请参阅 AddPrivilegesRoleRequest 消息)
  • 我正在添加一个新实体,但希望能够通过customizations.xml 简单地允许它可读,而不是默认限制其读取权限并要求管理员运行大量对 CRM 的编程请求以更新具有必要读取权限的所有角色。
猜你喜欢
  • 1970-01-01
  • 2021-10-31
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
相关资源
最近更新 更多