Dynamics crm 2011 基于属性值的CRM 2011字段安全性

Dynamics crm 2011 基于属性值的CRM 2011字段安全性,dynamics-crm-2011,dynamics-crm,Dynamics Crm 2011,Dynamics Crm,在这种情况下,我希望使用字段安全性,但仅当记录上的属性是某个值时。实体是联系人,有一个位属性称为VIP。当用户打开该记录且VIP值为true且他们不在VIP团队中时,用户将无法看到标记为字段安全性的字段 有没有可能编写一个插件来实现这一点,或者有更好的解决方案呢?这可以用解决。 为VIP团队创建新表单 为新表单选择一个安全角色 如果权限较低的用户永远无法访问VIP字段,则字段级安全性与基于角色的表单相结合是一个好主意;甚至通过报告和其他访问数据的方法。管理现场级安全配置文件需要更多的工作

在这种情况下,我希望使用字段安全性,但仅当记录上的属性是某个值时。实体是联系人,有一个位属性称为VIP。当用户打开该记录且VIP值为true且他们不在VIP团队中时,用户将无法看到标记为字段安全性的字段


有没有可能编写一个插件来实现这一点,或者有更好的解决方案呢?

这可以用解决。
  • 为VIP团队创建新表单
  • 为新表单选择一个安全角色

  • 如果权限较低的用户永远无法访问VIP字段,则字段级安全性与基于角色的表单相结合是一个好主意;甚至通过报告和其他访问数据的方法。管理现场级安全配置文件需要更多的工作,因为它们与安全角色完全分离;它们被分配给用户或团队。

    您可以连接到表单的onLoad事件,检查用户的团队和VIP字段,并相应地显示其他字段

    不确定是否有更简单的方法获得团队,OData请求将是一个选项:

    命令如下所示:

    var userid = Xrm.Page.context.getUserId();
    var cmd = "/TeamMembershipSet?$select=TeamId&$filter=SystemUserId eq guid'" + userid + "'";
    
    要设置字段的可见性,请查看以下链接:

    在我看来,管理员您必须是现场级安全角色的成员


    我还必须重新启动IIS/CRM站点,它才能生效。

    如果用户打开记录,而VIP为false,该怎么办?他们可以打开记录并查看所有字段。如果为真,则只有具有访问权限的人才能看到标记的字段。我想我可能把安全角色和团队搞混了。现场安全仅适用于团队,对吗?现场安全仅适用于自定义实体,不限于团队。是否仅显示或隐藏VIP字段?据我所知,用户将能够根据字段是否可见推断联系人是否为VIP;因此,在本例中,我看不到现场级安全的意义。JavaScript将是显示/隐藏字段的一个简单选项,但字段仍将仅“存在”隐藏。VIP字段不是启用了安全性的字段,而是另一个自定义字段。如果VIP值为“是”,则VIP团队以外的人员将无法读取或更新自定义字段。有一个VIP表单,他们是唯一可以修改VIP字段值的人。这并不能解决问题。当VIP值为true且用户不属于VIP团队时,我想禁用单独字段的读取访问(我们称之为我最喜欢的颜色)。若VIP值为假,那个么任何人都可以看到我最喜欢的颜色字段的值。谢谢!因此,要执行OData请求,我可以使用CRM 2011 SDK中的SDK.REST.js,还是使用SDK.JQuery.js?调用该命令的代码是什么?查看发布的MSDN链接,它列出了一些示例,例如。