我有一个自定义C#插件,禁止激活/停用某些特定角色的实体。我使用RetrieveEntityRequest
获取插件正在执行的实体的EntityMetadata,并查找DisplayCollectionName.LocalizedLabels.First().Label
以获取实体的显示名称,并在错误消息中将其显示给用户:< / p>
拒绝访问权限没有“我的自定义实体”
的权利
对RetreieveEntityRequest
的调用包含在try catch中,该try会占用任何异常,而是显示逻辑名称(即new_mycustomentity)。
当没有对实体或关系的读取权限的用户执行插件时,将显示逻辑名称(由于用户没有权限)。
如何显示实体的显示名称,同时保持插件注册为“在调用用户的上下文中运行”并且不向用户提供对实体和关系的读取权限?
答案 0 :(得分:3)
您可以创建服务实例作为SYSTEM用户,并执行RetrieveEntityRequest
以获取标签,无论当前用户权限如何
IOrganizationService service = serviceFactory.CreateOrganizationService(null);