【Salesforce 認定Platformデベロッパー】試験対策:第129問

問題

開発者は、Lightningコンポーネントが取引先責任者のレコードを検索するために使用できるApexクラス「ContactController」を作成する必要があります。Lightningコンポーネントのユーザーは、自分がアクセス権を持つ取引先責任者のレコードのみを検索できるようにするべきです。正しくレコードを制限するための方法は何ですか。2つ選びなさい。

  • public class ContactController
  • public with sharing class ContactController
  • public without sharing class ContactController
  • public inherited sharing class ContactController

正解

  • public class ContactController
  • public with sharing class ContactController
  • public without sharing class ContactController
  • public inherited sharing class ContactController

解説

それぞれの選択肢の理由について説明します。

□ public class ContactController
これは不正解です。この宣言だけではレコードへのアクセス制限は明示的には行われません。このクラスは、呼び出し元のクラスやトリガーの共有設定に依存します。

□ public with sharing class ContactController
これは正解です。「with sharing」キーワードを使用すると、このクラスは実行ユーザーの共有設定を尊重します。つまり、ユーザーがアクセスできるレコードのみを検索や操作できるようになります。

□ public without sharing class ContactController
これは不正解です。「without sharing」キーワードを使用すると、このクラスは実行ユーザーの共有設定を無視します。これは、ユーザーがアクセスできないレコードにもアクセスできる可能性があるため、この要件には適していません。

□ public inherited sharing class ContactController
これは正解です。inherited sharingキーワードを使用すると、クラスは親クラスまたは呼び出し元の共有設定を継承します。これにより、クラスが他の「with sharing」クラスから呼び出される場合、ユーザーの共有設定を尊重することができます。このキーワードは、クラスが共有設定を持たない場合や、他のクラスから呼び出される場合に特に有用です。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

目次