設問
標準リードコントローラを使用してカスタム Visualforceページに項目レベルのセキュリティを確実に適用するには、アーキテクトは何をすべきですか?
選択肢
A. 標準リード コントローラで「共有あり」キーワードを使用します。
B. 何もありません。フィールドレベルのセキュリティは自動的に適用されます。
C. {!Schema.sObjectType.Lead.fields.isAccessible()} 式を使用します
D. Schema.SObject.Lead.isAccessible() メソッドを使用します。
解答
B. 何もありません。フィールドレベルのセキュリティは自動的に適用されます。
解説
A. 標準リード コントローラで「共有あり」キーワードを使用します。
不正解です。
「共有あり(with sharing)」キーワードは共有設定(レコードアクセス権)を考慮するためのものであり、項目レベルのセキュリティ(FLS)には影響しません。FLSには適用されないため誤りです。
B. 何もありません。フィールドレベルのセキュリティは自動的に適用されます。
正解です。
標準コントローラを使用する場合、Salesforceは自動的に項目レベルのセキュリティ(FLS)を適用します。したがって、開発者が特別な対応をする必要はありません。
C. {!Schema.sObjectType.Lead.fields.isAccessible()} 式を使用します
不正解です。
この式はカスタムコントローラでFLSを手動でチェックする場合に使うものであり、標準コントローラを使用した場合は冗長になります。
D. Schema.SObject.Lead.isAccessible() メソッドを使用します。
不正解です。
このメソッドはApex内でのチェックに使用されますが、標準コントローラを利用したVisualforceでは不要であり、適切ではありません。
第90問
こちらをクリック