この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

カスタムコントローラおよびコントローラ拡張とは?

カスタムコントローラは、標準コントローラを使用せずにページのすべてのロジックを実装する Apex クラスです。Visualforce ページを完全にシステムモードで実行する場合に、カスタムコントローラを使用します。システムモードでは現在のユーザの権限と項目レベルのセキュリティが適用されません。

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

カスタムコントローラとコントローラ拡張クラスはシステムモードで実行されるため、ユーザ権限や項目レベルセキュリティは無視されます。ただし、クラスの定義で with sharing キーワードを使用することによって、ユーザの組���全体のデフォルト、ロール階層、および共有ルールを適用するかどうかを選択できます。詳細は、『Apex 開発者ガイド』の「with sharingwithout sharinginherited sharing キーワードの使用」を参照してください。

メモ