有効的なSharing-and-Visibility-Architect-JPN問題集はJPNTest.com提供され、Sharing-and-Visibility-Architect-JPN試験に合格することに役に立ちます!JPNTest.comは今最新Sharing-and-Visibility-Architect-JPN試験問題集を提供します。JPNTest.com Sharing-and-Visibility-Architect-JPN試験問題集はもう更新されました。ここでSharing-and-Visibility-Architect-JPN問題集のテストエンジンを手に入れます。
Sharing-and-Visibility-Architect-JPN問題集最新版のアクセス
「80問、30% ディスカウント、特別な割引コード:JPNshiken」
最新のコメント (最新のコメントはトップにあります。)
正解は **C** です。
Apexクラスがユーザーの項目レベルセキュリティ(FLS)を尊重するようにするには、`IsUpdateable()` Apex メソッドを使用して更新を実行する前に項目の権限を明示的にチェックする必要があります。
---
## 解説
Apexはデフォルトで**システムコンテキスト**で実行されます。これは、コードを実行したユーザーのプロファイルで設定されている項目レベルセキュリティ(FLS)やオブジェクト権限が無視されることを意味します。そのため、ユーザーにとって項目が読み取り専用であっても、Apexコードはその項目を更新できてしまいます。
この問題を解決する方法は次のとおりです。
* **C. 更新を許可する前に、IsUpdateable() Apex メソッドを使用して各フィールドをテストします。**
* **(正解)** これは、ApexでFLSを適用するためのベストプラクティスです。`Schema.sObjectType.Opportunity.fields.My_Field__c.isUpdateable()` のようなコードを使用すると、現在のユーザーがその項目を更新する権限を持っているかどうかをプログラムで確認できます。このチェックが `true` を返した場合にのみ、DML操作(更新)を実行するようにロジックを組むことで、FLSが正しく適用されます。
* **A と B. `With Sharing` キーワードを使用する。**
* **(誤り)** `with sharing` キーワードは、Apexクラスに**レコードレベルの共有ルール**(例:共有ルール、ロール階層、所有権)を適用させるためのものです。これにより、ユーザーがアクセスできないレコードをApexが操作しないようにします。しかし、`with sharing` は**項目レベルセキュリティ(FLS)には影響を与えません**。したがって、このキーワードを追加しても、読み取り専用項目が更新されてしまう問題は解決しません。