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

オブジェクトのアクセシビリティの確認

オブジェクトを表示するにはユーザの権限が不十分な場合、コントローラを使用してそのオブジェクトを表示する Visualforce ページにはアクセスできなくなります。このエラーを回避するには、Visualforce コンポー��ントが、ユーザがコントローラに関連付けられたオブジェクトに対するアクセス権を持つ場合にのみ表示されるようにする必要があります。

オブジェクトのアクセシビリティは次のように確認できます。
1{!$ObjectType.objectname.accessible}
この式は true または false の値を返します。
たとえば、標準の Lead オブジェクトへのアクセス権があるかどうかを確認する場合、次のコードを使用します。
1{!$ObjectType.Lead.accessible}
カスタムオブジェクトの場合、コードは似ています。
1{!$ObjectType.MyCustomObject__c.accessible}
MyCustomObject__c は、カスタムオブジェクトの名前です。
ユーザにオブジェクトへのアクセス権がある場合のみページの一部が表示されるようにするには、コンポーネントの render 属性を使用します。たとえば、ユーザに Lead オブジェクトへのアクセス権がある場合にページブロックを表示するには、次のように実行します。
1<apex:page standardController="Lead">
2	<apex:pageBlock rendered="{!$ObjectType.Lead.accessible}">
3		<p>This text will display if you can see the Lead object.</p>
4	</apex:pageBlock>
5</apex:page>
ユーザがオブジェクトにアクセスできない場合に、代替メッセージを表示することをお勧めします。次に例を示します。
1<apex:page standardController="Lead">
2	<apex:pageBlock rendered="{!$ObjectType.Lead.accessible}">
3		<p>This text will display if you can see the Lead object.</p>
4	</apex:pageBlock>
5	<apex:pageBlock rendered="{! NOT($ObjectType.Lead.accessible) }">
6		<p>Sorry, but you cannot see the data because you do not have access to the Lead object.</p>
7	</apex:pageBlock>
8</apex:page>