Newer Version Available
EventCondition インターフェース
使用方法
evaluate メソッドは、トランザクションセキュリティポリシーで監視されているリアルタイムイベントが発生するとコールされます。通常の実装では、最初にイベントから関心のある項目を選択します。その項目をテストして、監視されている条件を満たすどうか確認します。条件を満たす場合、メソッドは true を返します。
たとえば、ユーザが照会したリードレコード数が 1,000 件を超えたときにトリガされるトランザクションセキュリティポリシーがあるとします。各 API イベントについて、evaluate メソッドは、RowsProcessed 値が 1,000 を超えるかどうかと、QueriedEntities 値に「Lead」が含まれるかどうかをチェックします。該当する場合は、true が返されます。
ポリシー条件インターフェースが正しく機能することを確認するために、テストクラスを用意することをお勧めします。ポリシーを Sandbox から本番組織に移動するか、変更セットと共に移動するか、または他の方法で移動するかに関係なくテストが必要です。たとえば、ポリシーを本番環境に移行する前に、開発環境でポリシーをテストします。
エラーが発生する可能性があるため、カスタムポリシーには DML ステートメントを含めないでください。トランザクションポリシーの評価中に Apex を介してカスタムメールを送信すると、レコードが別のレコードに明示的に関連付けられていなくても、エラーが表示されます。詳細は、『Apex 開発者ガイド』の「Apex DML 操作」を参照してください。
EventCondition メソッド
EventCondition のメソッドは次のとおりです。
evaluate(event)
署名
public Boolean evaluate(SObject event)
パラメータ
- var1
- 型: SObject
- トランザクションセキュリティポリシーに対して確認するイベント。
戻り値
型: Boolean
ポリシーがトリガされる場合、true が返されます。たとえば、ユーザをシングルログインセッションに限定するポリシーがあるとします。ユーザが再ログインを試みると、ポリシーによりログインがブロックされ、その LoginEvent の Status、PolicyId、および PolicyOutcome 項目が更新されます。また、Salesforce システム管理者にもメール通知が送信されます。evaluate メソッドは、ログインイベントのみを確認し、ユーザの 2 つ目のログインの試みである場合に true を返します。
システムはアクションと通知を実行しますが、evaluate メソッドは実行しません。
EventCondition の実装例
これは、TxnSecurity.EventCondition インターフェースの実装例を示しています。ユーザが取引先オブジェクトを照会すると、トランザクションセキュリティポリシーがトリガされます。
詳細は、「Apex トランザクションセキュリティの高度な実装例」を参照してください。