2

.NET 2.0 の Code Access Security について勉強しています。私の現在の理解は次のとおりです。

CAS の基本的なメカニズムは、CLR がアセンブリから特定の証拠を収集し、証拠とポリシーを使用してアセンブリのコードのアクセス許可セットを作成することです。そして、アセンブリのコードは、そのアクセス許可セットを超えて何もできません。

エビデンスは、特定のアセンブリを特定のコード グループに分類するために使用され、コード グループの粒度で許可セットが与えられます。

実行時に CLR によって収集できる証拠には、いくつかの種類があります。

Application Directory、GAC、Hash、Strong Nameなどの証拠を簡単に特定できます。

しかし、発行元、サイト、ゾーン、URLなどの証拠を特定するにはどうすればよいでしょうか。これらの証拠データはどこに保存されますか? それらはアセンブリのメタデータの一部ですか? Zone や Site などの証拠をメタデータの一部にする必要はないと思います。

どうもありがとう。

4

1 に答える 1

2

次のページは、この情報がどのように取得されるかを説明するために私が見つけることができる最善を尽くしています

要約すると、この情報の多くはアセンブリ自体に関するものではなく、CLR のホスティング環境によって提供されるものです。ホストの例は次のとおりです。

  • ブラウザ
  • ASP.Net
  • シェル ホスト (通常のアプリケーション)

これらのホスト自体が、サイト、ゾーンなどに関する情報を特定のアセンブリの CLR に提供します。

于 2010-10-04T08:11:24.967 に答える