我有一个dataAdministrator角色,该角色具有对Contact实体的完全许可权(完整的读/写/删除/修改/分配所有工作功能)。我有一个插件,可以在删除其他自定义实体(dataAdministrator也具有完全访问权限)时执行一些检查,并在满足某些条件的情况下将Contacts parentcustomerid更新为null。
现在作为系统管理员,该代码可以完美运行。但是,dataAdministrators收到令人尴尬的无用的错误消息“用户没有必要的特权”。但没有迹象表明缺少什么特权。是的,我下载了错误日志,该对话框是错误对话框的一个选项,但其中没有任何内容(没有向导或其他指示符,如prvReadContact)来指示出了什么问题。
现在,数据管理员可以更新此字段。插件的其他部分为该字段分配一个值,并且没有问题。仅当代码尝试将null分配给parentcustomerid(以清除字段)时,我才会收到此错误。
以前有人看过吗?如果没有,谁能建议我如何让CRM告诉我缺少什么特权?
** 编辑1 **
因此,相关插件会自动清除在表单上为只读的parentcustomerid。我决定将其设置为可编辑状态,然后手动清除该字段,看看是否出现相同的错误。
幸运的是,这导致了另一个错误。发生错误是由于尝试删除并清除customerAddress实体并清除Contact的BusinessAddress字段的另一个插件(我未编写)。我不确定插件是否试图删除CustomerAddress实体这一事实是否导致该错误,或者是否存在其他问题。
我找不到CustomerAddress实体的任何权限设置,默认情况下,每个人都具有对该实体的完全访问权限吗?
答案 0 :(得分:0)
从此community answer看来,“客户地址实体”继承了“帐户”实体的安全角色特权。为帐户实体授予删除权限并验证插件执行。
授予“帐户”实体的权限将驱动“地址”实体上的权限。 (客户地址)