この記事の目次
Salesforce without sharingとは

Salesforce without sharingの記述方法
ではwithout sharingを設定したい場合、どのように記述すれば良いのでしょうか。実際にSalesforceのApexクラス内でキーワードを指定する際の記述方法を解説します。without sharing
Apexクラス内でwithout sharingを使い共有設定を強制実行されないようにするには、クラスの宣言時にキーワードを使用します。例えば以下のような形で記述します。 public without sharing class SampleClassA { // Code here }with sharing
反対に、現在のユーザの共有ルールを適用させることを明示的に指定する場合はキーワードとしてwith sharingを記載します。 public with sharing class SampleClassB { // Code here }Salesforce without sharing使用時の考慮事項
Salesforce without sharingのキーワードを使用する際の注意事項を見ていきましょう。 大前提として、組織の共有設定や共有ルールで設定されている内容が、組織のアクセス権の定義を構成しており、without sharingはそのルールを適用させないための例外的な処理です。 したがって、通常はApexクラスの実行ユーザが意図しない不要なレコードにアクセスするのを防ぐためにもwithout sharingは使用しないようにしましょう。 特にApexクラスを使用した処理を実行する際に、うまくレコードが取得できないという理由でwithout sharingを使うといった使用方法は行わず、まずは共有設定の変更によりアクセスできるように設計・開発しましょう。おわりに
