0

たとえば、Windowsレジストリに書き込む.NETクラスライブラリコードを想定します。次に、このコードはインターネット上で実行するのに問題があります。これは、デフォルトのインターネットポリシーでは、レジストリへの書き込みアクセスが許可されていないためです。

アセンブリにステートメントを追加することRequestMinimumで、レジストリに書き込むためにコードに書き込み権限が必要であることを指定できます。これにより、コードに権限がないという事実は変わりませんが、アセンブリの読み込みが停止します。ランタイムはをスローし、System.Security.Policy.PolicyException必要な権限を識別します。

証拠セキュリティポリシー、およびアクセス許可コードアクセスセキュリティの重要な要素)を使用して、アセンブリがWebサーバーに読み込まれないようにする他の例はありますか?

4

1 に答える 1

1

SecurityPermission\Execution を拒否すると、任意のコンテキスト (Web サーバーまたはその他) でアセンブリが読み込まれないようにすることができます。.NET 3.5 以前では、特定のアセンブリに対する最終的なアクセス許可を決定するために、ASP.NET 信頼レベルがコンピューター上のローカル CAS ポリシーと交差します。したがって、通常の証拠とコード グループ メンバーシップ条件メカニズムを使用して、ローカル CAS ポリシーを介してアセンブリの実行アクセス許可を拒否することにより、ASP.NET でアセンブリが読み込まれないようにすることができます。(これは、ローカル CAS ポリシーが存在しなくなる .NET 4.0 には当てはまりません。)

于 2010-03-11T13:15:52.343 に答える