Dynamics crm 2011 使用已保存视图的安全性

Dynamics crm 2011 使用已保存视图的安全性,dynamics-crm-2011,Dynamics Crm 2011,在Dynamics CRM中定义了一个自定义实体,实体E。 实体E包含两种类型的条目:公共可见条目(种类公共)和私有条目(种类私有) CRM用户可以从E检索这两种条目。另一方面,站点A(面向互联网)的用户只可以检索E的公共子集 以下步骤可以吗 为实体E创建一个保存的视图,称为PUBLIC_E_view 创建具有公共视图读取权限的安全角色 将该安全角色分配给用户X 来自站点A的所有请求都将使用“模拟”(X)针对crm web服务执行 提前谢谢:)我可能误解了你的问题,因为你的术语不清楚 实体E

在Dynamics CRM中定义了一个自定义实体,实体E。 实体E包含两种类型的条目:公共可见条目(种类公共)和私有条目(种类私有

CRM用户可以从E检索这两种条目。另一方面,站点A(面向互联网)的用户只可以检索E的公共子集

以下步骤可以吗

  • 为实体E创建一个保存的视图,称为PUBLIC_E_view
  • 创建具有公共视图读取权限的安全角色
  • 将该安全角色分配给用户X
  • 来自站点A的所有请求都将使用“模拟”(X)针对crm web服务执行

提前谢谢:)

我可能误解了你的问题,因为你的术语不清楚

实体E包含两种类型的条目:公开可见的条目。。。 和私人作品

您的意思是您的“实体E”(CRM实体定义)包含可公开访问的属性和私有属性(这是我假设的属性),还是您的意思是“实体E”类型的某些记录是公共的,而某些记录是私有的


我建议您调查CRM 2011“(FLS)概念。这允许您保护字段子集,并使其仅对特定用户可用(即绑定到角色)。此安全性应用于CRM视图和表单,因此它应该适合所有基于web的请求都通过模拟用户发出的场景


FLS确实对性能有影响。在一个高容量的场景中,您可能会考虑将您的“私有”属性移动到一个新的实体,将它与原始的公共实体联系起来,并确保对私有实体的访问安全。

< P>我可能误解了您的问题,因为您的术语不清楚。 实体E包含两种类型的条目:公开可见的条目。。。 和私人作品

您的意思是您的“实体E”(CRM实体定义)包含可公开访问的属性和私有属性(这是我假设的属性),还是您的意思是“实体E”类型的某些记录是公共的,而某些记录是私有的


我建议您调查CRM 2011“(FLS)概念。这允许您保护字段子集,并使其仅对特定用户可用(即绑定到角色)。此安全性应用于CRM视图和表单,因此它应该适合所有基于web的请求都通过模拟用户发出的场景


FLS确实对性能有影响。在一个高容量的场景中,你可能会考虑将你的“私有”属性移动到一个新的实体上,将它与你的原始公共实体联系起来,并确保对私有实体的访问是独立的。

< P>不,我认为这不会实现你想要的。 Web服务调用不尊重用户的视图。例如,在web服务调用中不使用PUBLIC_E_视图

为了使PUBLIC_E_视图正常工作,用户X需要对E的读取权限。这意味着任何web服务都将返回用户X可以看到的每个E记录—在本例中,所有E记录都是如此

例如,我认为在这种情况下,您需要使用业务单元来分离数据

  • 两个业务单元分别为私人和公共、公共和私人用户分配
  • 私人是公共的父母
  • 所有私人用户都可以在其业务单元和子业务单元中读取E
  • 所有公共用户都可以在其业务单元中读取E
  • 将所有公共和私人E记录分配给正确的用户

这意味着,当您在公共单元中模拟X时,您将不会在私人单元中返回记录。

不,我认为这不会达到您想要的效果

Web服务调用不尊重用户的视图。例如,在web服务调用中不使用PUBLIC_E_视图

为了使PUBLIC_E_视图正常工作,用户X需要对E的读取权限。这意味着任何web服务都将返回用户X可以看到的每个E记录—在本例中,所有E记录都是如此

例如,我认为在这种情况下,您需要使用业务单元来分离数据

  • 两个业务单元分别为私人和公共、公共和私人用户分配
  • 私人是公共的父母
  • 所有私人用户都可以在其业务单元和子业务单元中读取E
  • 所有公共用户都可以在其业务单元中读取E
  • 将所有公共和私人E记录分配给正确的用户
这意味着,当您在公共单元中模拟X时,将不会返回私有单元中的记录