手順 3 (省略可能): 特殊なセキュリティ属性の設定
bin ディレクトリに格納する ASP.NET Web パーツには、セキュリティに関する特殊な制約があります。フィルタ Web パーツの使用方法に応じて、特殊なセキュリティ属性を設定するかどうかを選択できます。
bin ディレクトリは部分的に信頼される場所なので、Web パーツには、実行時に自動的に完全な信頼コードのアクセス許可が付与されることはありません。Web パーツに呼び出すコードには部分的に信頼されるアクセス許可のみが付与されるので、ASP.NET Web パーツには、AllowPartialTrustedCallers 属性が設定されている必要があります。この属性はアセンブリ レベルで設定できます。
警告
AllowPartiallyTrustedCallers に対してアセンブリを安全とマークすると、安全な実装のために開発者は大きな責任を負うことになります。
もう 1 つの問題は、bin ディレクトリのコード アクセス セキュリティのアクセス許可は既定で非常に低く設定され、実行のみが許可されていることです。アセンブリを正しく動作させるには、ほとんどの場合、それらのアクセス許可を昇格させる必要があります。
アクセス許可を昇格させるには、次の 2 つの方法があります。
Web アプリケーション ルートの web.config ファイル内に、level="WSS_Minimal" の属性を持つ <trust level> タグがあります。このレベルを WSS_Medium に変更できます。この変更により、bin ディレクトリの .NET 信頼レベルが上がります。こちらの方法はより簡単ですが、全体的に信頼レベルを上げることにより、必要でない可能性がある新しいアクセス許可が恣意的に付与されるため、もう 1 つの、新しい信頼ポリシー ファイルを作成する方法よりも安全性が低くなります。
新しい信頼ポリシー ファイルを作成し、この新しいファイルで web.config ファイルを指定します。この方法は、より複雑ですが、Web パーツのアクセス許可の属性をより的確なものにできます。
前提条件
このコード サンプルはデモのみを目的としているので、この手順では bin ディレクトリの信頼性レベルを上げます。この方法は安全性が低いことに注意してください。
注意事項
bin ディレクトリの信頼レベルを上げる方法は、新しい信頼ポリシー ファイルを作成し、そのファイルで web.config を指定する方法よりも安全性が低くなります。
bin ディレクトリの信頼レベルを上げるには
アプリケーション ルートの web.config ファイルを探し、編集するために開きます。
信頼レベル タグ <trust level="WSS_Minimal"> を探します。信頼レベルを WSS_Medium に変更します。