SharePoint のページの種類
最終更新日: 2010年2月12日
適用対象: SharePoint Foundation 2010
Microsoft SharePoint Foundation のページには大きく 2 つの種類があります。1 つはサイト ページで、もう 1 つはアプリケーション ページです。ここでは、この 2 種類のページの違いを説明します。アプリケーション ページとサイト ページはどちらも、同じマスター ページからそのレイアウトを継承します。マスター ページの詳細については、「マスター ページ」を参照してください。
サイト ページ
サイト ページはエンド ユーザーによって作成、編集、カスタマイズされるページです。それらは主にサイトのコンテンツのために使用されます。サイト ページは標準ページと Web パーツ ページの 2 種類に分かれます。標準ページの内容は、テキスト、画像、Web パーツ、その他の要素です。Web パーツ ページの内容は Web パーツ領域の Web パーツです。そこでは Web パーツ領域を使用するレイアウトがあらかじめ定義されています。どちらの種類のサイト ページも Web ブラウザーか Microsoft SharePoint Designer で編集されます。
サイト ページは、フロントエンド Web サーバーのファイル システムに格納されているテンプレートを使用して準備されます。サイトを準備するとき、SharePoint Foundation はファイル システム上のページ テンプレートのインスタンスへのポインターを作成します。これで SharePoint Foundation は、ページの複製を繰り返し作成することを回避でき、サイトを作成するたびにページが準備されるようになります。
ユーザーがサイト ページをカスタマイズすると、そのページのテンプレートがコンテンツ データベースに格納されます。そのページは、ユーザーから要求されるたびにコンテンツ データベースから取り出されます。ただし、Web ブラウザーか SharePoint Designer などのツールを使用して、カスタマイズされたページを元のテンプレート ページにリセットすることもできます。
カスタマイズされたサイト ページにインライン サーバー コードを含めることはできません。そのページ上での実行を許可されたコントロールのセットは、<Drive>:\inetpub\wwwroot\wss\VirtualDirectories\<port number>\web.config ファイル内の安全なコントロール リストによって管理されます。サイト定義の開発ではサーバー側コードの使用を避けることが、推奨されています。ページのコードがユーザーによって編集または変更されると、そのコードはもう実行されなくなります。
サイト ページでサーバー側コードを使用する場合の一般的な規則は、次のとおりです。
カスタマイズされていないページでは、サーバー側コードがサポートされる。
カスタマイズされたページでは、サーバー側コードは実行されず、ページのレンダリングが行われない。これにはページ自体の分離コードも含まれる。
管理者は、PageParserPath の設定を web.config ファイルに追加することで、指定のパスに格納されているページ上でのサーバー側コードの実行を許可することができます。そのページは特定の 1 ページでも、ディレクトリ全体のページでもかまいません。
セキュリティに関するメモ |
---|
PageParserPath の設定を追加すると、所定のフォルダーにページをアップロードできるならば誰でも自由に完全信頼のコードサーバーに書き込めるようになります。これらの設定を追加するときは細心の注意を払い、そのセキュリティ上の意味合いを十分理解したうえで作業を行ってください。 |
次に示す例では、PageParserPath の設定でワイルドカードを使用しています。この PageParserPath を追加すると、マスター ページ ギャラリーにアクセスする権限があれば、誰でもサーバー側コードをアップロードできるようになります。この種の PageParserPath 設定を追加するときは、細心の注意を払ってください。
<SharePoint>
<SafeMode ...>
<PageParserPaths>
<PageParserPath VirtualPath="/_mpg/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>
</PageParserPaths>
アプリケーション ページ
アプリケーション ページは、SharePoint Foundation でアプリケーションの実装をサポートするために使用されます。アプリケーション ページはフロントエンド Web サーバーのファイル システムの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS ディレクトリに格納され、Web アプリケーションのサイトごとに存在します。このフォルダーはインターネット インフォメーション サービス (IIS) 仮想ディレクトリ _layouts にマップされます。すべてのサイトとサブサイトから _layouts 仮想ディレクトリを使用してアプリケーション ページにアクセスできます。たとえば、http://myserver/_layouts/settings.aspx と http://myserver/subsite/_layouts/settings.aspx はフロントエンド Web サーバー上の同じアプリケーション ページにアクセスします。ここが、特定のサイトのインスタンスであるサイト ページと異なる点です。
アプリケーション ページにはサイト ページのような制約はありません。そこでのインラインコードの使用は特に制限されません。ただし、動的な Web パーツまたは Web パーツ領域を使用することや、SharePoint Designer による変更はできません。SharePoint Foundation では、既定のアプリケーション ページを変更することはサポートされていません。_layouts フォルダーのサブディレクトリにカスタム アプリケーションページを追加することはできます。