Dynamics CRM中记录用户的数据导出操作记录

本文介绍在Dynamics365中如何通过监听RetrieveMultiple事件,结合用户权限检查,控制数据导出并记录导出日志。包括用户信息、查询条件、导出列及实体对象等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dynamics CRM中记录用户的数据导出操作记录

CRM中用户导出数据的方式

在Dynamics 365中用户在页面中进行数据导出,通常是在高级查找后进行excel 导出,或者视图子网格页面选择excel导出等

系统执行导出的步骤顺序

系统标准Excel数据导出会执行消息步骤 ExportToExcel 在ExportToExcel中RetrieveMultiple进行查询数据。
一种思路是用插件监听 ExportToExcel 这个消息步骤,不过ExportToExcel 在插件步骤中无法找到这个Message.

第二种实现方式:监听RetrieveMultiple,判断父上下文的MessageName,如下:
插件实现判断是否是excel导出
我们在插件步骤中监听事件为RetrieveMultiple,Primary Entity可以选择指定实体也可以为none监听所有的导出。
在这里插入图片描述
在获取到用户导出数据的判断标记后,我们可以进行 对用户数据导出的日志记录
1.执行导出的用户信息
2.查询的数据条件(可以记录FetchXml),或者视图信息
3.查询导出的列信息
4.导出的实体对象信息
5.导出时间
以上信息可以通过context中获取Query对象进行进一步解析
在这里插入图片描述

在获取到以上日志信息后,我们只需要新增一个简单的实体进行保存记录即可。
在这里插入图片描述
基于以上逻辑理解,我们可以进一步控制系统用户那些人可以进行数据导出,确保业务数据的泄露风险。
在context中获取用户id后可以判断对应安全角色等等不同维度来判断是否可以进行导出,如果不满足条件则抛出异常信息,则会停止前端用户的数据导出操作。
在这里插入图片描述
这样就可以控制用户的数据导出权限,自定义逻辑细化到不同实体导出权限明细。同事记录导出日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值