メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

次のいずれかの更新プログラムをインストールした後、Microsoft SharePoint の一部の非実体化ページがレンダリングされなくなります。

たとえば、Microsoft Identity Manager (MIM) ポータル ページや SharePoint ソリューションを使用して展開された一部のカスタマイズ ページがレンダリングされません。

さらに、次のいずれかまたは複数のシナリオが発生することがあります。

シナリオ 1

ブロックされた非実体化ページに次のエラー メッセージのいずれかが表示されます。

  • 属性 'autoeventwireup' はこのページで許可されていません。

  • 属性 'enablesessionstate' はこのページで許可されていません。

  • このファイルでコード ブロックは許可されていません。

  • イベント ハンドラー 'OnSelectedIndexChanged' はこのページで許可されていません。

    注: 最後のエラー メッセージのイベントは、"OnClick" など、他のイベントである可能性があります。

            
シナリオ 2

ブロックされた非実体化ページに次のエラー メッセージが表示されます。

UnsafeControlException: このページ上の Web パーツまたは Web フォーム コントロールは、表示またはインポートできません。この種類が見つからないか、安全なコントロールとして登録されていません。

            
シナリオ 3

ブロックされた非実体化ページに次のエラー メッセージが表示されます。

参照ファイル '/_layouts/somedirectory/affectedusercontrol.ascx' はこのページで許可されていません。

原因

非実体化ページはファイル システムに格納されます。それらのセキュリティ レベル は、サーバーサイド スクリプトと安全でないコントロールを禁止することで強化されています。次の条件に該当する場合、非実体化ページのレンダリングがブロックされる可能性があります。

  • 非実体化ページにインライン コードまたはサーバーサイド スクリプトが含まれている。

  • 分離コードの種類または Web パーツの種類が安全なコントロールとして登録されていません。

シナリオ 1 の解決方法

この問題を解決するには、Web.config ファイルの configuration/SharePoint/SafeMode/PageParserPaths 要素以下に VirtualPath 属性を持つ新しい PageParserPath 要素を追加します。

たとえば、次のエラー メッセージが表示されます。

"属性 'autoeventwireup' はこのページで許可されていません。"

この場合は、次のように PageParserPath 要素を追加します。

<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true"/>
    </PageParserPaths>
</SafeMode>

            
同じ仮想ディレクトリ内のすべてのページのブロックを解除する必要がある場合は、次のように PageParserPath 要素を使用します。

<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
    </PageParserPaths>
</SafeMode>

  • VirtualPath は、ブロックされるページのパスです。

  • VirtualPath は、非実体化されていて、どのユーザーも非実体化を解除できないページ、またはそのようなページを含むディレクトリを指している必要があります。

  •             VirtualPath は、非実体化を解除できる別のページまたはマスター ページを参照していないページ、またはそのようなページまたはマスター ページを含まないディレクトリを指している必要があります。

  •             DirectFileDependencies は、許可されている直接ファイル依存関係の数を示します。"the number of allowed direct file dependencies exceeds the limit" (許可されている直接ファイル依存関係の数が制限を超えています) などのエラー メッセージを受け取る場合は、この値を変更します。

シナリオ 2 の解決方法

この問題を解決するには、「SafeControls 要素 (ソリューション)」の説明に従って、Web.config ファイルの configuration/SharePoint/SafeControls 要素以下に、指定された型、名前空間、およびアセンブリの厳密な名前の新しい SafeControls 要素を追加します。次に、Safe 属性を TRUE に設定します。

SafeControls 要素の属性値の形式の詳細については、「方法: パッケージ デザイナーでのセーフ コントロールのマーク付け」の手順 12 の表を参照してください。

シナリオ 3 の解決方法

この問題を解決するには、Web.config ファイルの configuration/SharePoint/SafeControls 要素以下に Src 属性を使用する新しい SafeControls 要素を追加します。

たとえば、次のエラー メッセージが表示されます。

"参照ファイル '/_layouts/somedirectory/affectedusercontrol.ascx' はこのページで許可されていません。"

この場合は、次の例のように SafeControls 要素を追加します。

< SafeControls>
    <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>

< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×