创建使用 Apex 的事务安全性策略
使用“设置”创建使用 Apex 的事务安全策略。您可以指定现有的 Apex 类,或者创建一个空类,然后进行编码。Apex 类必须实现TxnSecurity.EventCondition接口。
所需的 Edition
| 适用于 Salesforce Classic(并非在所有组织中可用)和 Lightning Experience。 |
适用于:Enterprise、Unlimited 和 Developer Edition 需要 Salesforce Shield 或 Salesforce Event Monitoring 加载项订阅。 |
| 所需用户权限 | |
|---|---|
| 查看事件: | 查看实时事件监控数据 |
| 查看事务安全性策略: | 查看所有数据 |
| 要创建、编辑和管理事务安全性策略: | 自定义应用程序 |
您可以为相同类型的事件创建多个策略,但我们建议您的策略和它们的行动不重叠。如果在事件发生时执行针对执行事件的多个相同操作策略,执行顺序将不确定。
- 从“设置”中,在快速查找框中,输入事务安全性,然后选择事务安全性策略。
- 单击新建,然后选择 Apex。
- 单击下一步。
-
选择您的策略所基于的事件。
例如,如果要跟踪组织中的 API 调用,请选择 API 事件。如果要监视用户何时查看或导出报表,请选择报表事件。有关可用事件的完整列表,请参阅事务安全性。
- 选择实施策略的 Apex 类。如果您尚未创建该类,请选择新建空 Apex 类。
- 单击下一步。
-
选择触发时策略执行的操作。
可用的操作因事件类型而异。有关更多信息,请查看事务安全操作和通知。
备注 双重身份验证操作在 Salesforce 移动应用程序和 Lightning Experience 中不可用,或通过事件的 API 不可用。相反,使用阻止操作。例如,如果在通过 API 执行的列表视图上触发双重身份验证策略,Salesforce 阻止 API 用户。 - 如果适用,选择阻止消息或通知类型和收件人。
-
输入策略的名称和描述。
您的策略名称必须以字母开头,不能以下划线结尾,并且不能包含两个连续的下划线。
-
或者,启用策略。
如果您选择创建 Apex 类,请不要启用该策略,因为您必须首先向该类添加代码。
-
单击完成。
您的新策略将出现在“策略”表中。如果您选择创建 Apex 类,其名称是策略名称的 25 个字符,其中没有附加空格的
EventCondition字符串。如果您的策略名为“我的 Apex 类”,您的 Apex 类将自动生成为MyApexClassEventCondition。该类列在 Apex 条件列中。 -
如果要编辑 Apex 类,请单击它的名称。
如果您选择创建 Apex 类,您必须添加实施代码。Salesforce 添加了这个基本代码来帮助您入门。
global class MyApexClassEventCondition implements TxnSecurity.EventCondition { public boolean evaluate(SObject event) { return false; } }
当您删除使用 Apex 的事务安全策略时,不会删除实施类。您可以单独删除此 Apex 类,或者在另一个策略中重用它。
请勿在基于 Apex 的策略中包含 DML 语句,因为这会导致错误。在事务策略评估期间通过 Apex 发送自定义电子邮件时,您将收到错误,即使记录未明确与其他记录相关。有关更多信息,请查看 Apex 参考指南中的 Apex DML 操作。
- 增强型 Apex 事务安全实施示例
以下是实现增强型 Apex 事务安全的示例。 - 异步 Apex 示例
执行事务安全策略时,使用异步 Apex 流程来卸载耗时的操作,例如向外部收件人发送通知电子邮件。 - 增强型事务安全 Apex 测试
编写强大的测试是一种工程最佳实践,可以确保您的代码达到您的预期,并在用户和客户之前发现错误。为您的事务安全策略的 Apex 代码编写测试甚至更重要,因为它在 Salesforce 组织中的关键用户操作期间执行。例如,LoginEvent 策略中的一个缺陷在测试期间没有被发现,这可能导致您的用户被锁定在您的组织之外,这是应尽力避免的情况。
本文章是否解决您的问题?
请与我们共享您的想法,以便我们进行改进!
