PolicyCondition インターフェース
名前空間
使用方法
たとえば、同じユーザーが複数回ログインしていないかチェックするトランザクションセキュリティポリシーがある���します。ログインイベントごとに、メソッドは、ログインしているユーザーにすでに進行中のログインセッションがあるかどうかをチェックし、ある場合は true を返します。
ポリシー条件インターフェースが正しく機能することを確認するために、テストクラスを用意することをお勧めします。ポリシーを Sandbox から本番組織に移動するか、変更セットと共に移動するか、または他の方法で移動するかに関係なくテストが必要です。たとえば、ポリシーを本番環境に移行する前に、開発環境でポリシーをテストします。
エラーが発生する可能性があるため、カスタムポリシーには DML ステートメントを含めないでください。トランザクションポリシーの評価中に Apex を介してカスタムメールを送信すると、レコードが別のレコードに明示的に関連付けられていなくても、エラーが表示されます。詳細は、『Apex リファレンスガイド』の「Apex DML 操作」を参照してください。
PolicyCondition のメソッド
PolicyCondition のメソッドは次のとおりです。
evaluate(event)
署名
public Boolean evaluate(TxnSecurity.Event event)
パラメーター
- event
- 型: TxnSecurity.Event
- トランザクションセキュリティポリシーに対して確認するイベント。
戻り値
型: Boolean
ポリシーがトリガーされると、True が返されます。たとえば、ユーザーをシングルログインセッションに限定するポリシーがあるとします。あるユーザーが 2 つ目のログインをしようとすると、ポリシーのアクションによって現在のセッションを終了するよう求められます。また、Salesforce システム管理者にもメール通知が送信されます。evaluate() メソッドは、ログインイベントのみを確認し、ユーザーの 2 つ目のログインである場合に True を返します。トランザクションセキュリティシステムはアクションと通知を実行しますが、evaluate() メソッドは実行しません。