カスタムコントローラおよびコントローラ拡張とは?
カスタムコントローラは、標準コントローラを使用せずにページのすべてのロジックを実装する Apex クラスです。Visualforce ページを完全にシステムモードで実行する場合に、カスタムコントローラを使用します。システムモードでは現在のユーザの権限と項目レベルのセキュリティが適用されません。
コントローラ拡張は、標準コントローラまたはカスタムコントローラの機能を拡張する Apex クラスです。次の場合にコントローラ拡張を使用します。
- 標準コントローラの組み込み機能を使用するが、編集、参照、または削除などの 1 つ以上のアクションを上書きする。
- 新しいアクションを追加する。
- ユーザ権限が適用される Visualforce ページを作成する。コントローラ拡張クラスはシステムモードで実行されますが、コントローラ拡張が標準コントローラを拡張する場合、標準コントローラのロジックは、システムモードで実行されません。代わりに、ユーザモードで実行され、現在のユーザの権限、項目レベルのセキュリティ、および共有ルールが適用されます。