2

我正在研究 .NET 2.0 的代码访问安全性。我目前的理解如下:

CAS的基本机制是让CLR从程序集中收集某些证据,然后使用证据和策略为程序集的代码制定一个权限集。除了该权限集之外,程序集的代码无能为力。

证据用于将某个程序集划分为某个代码组,并在代码组粒度上给出权限集。

CLR 在运行时可以收集多种类型的证据。

很容易确定应用程序目录、GAC、哈希、强名称等证据。

但是如何确定Publisher、Site、Zone、URL等证据?这些证据数据存储在哪里?它们是程序集元数据的一部分吗?我不认为像 Zone 或 Site 这样的证据应该是元数据的一部分。

非常感谢。

4

1 回答 1

2

以下页面尽我所能解释如何获取此信息

总结是这些信息中的大部分不是关于程序集本身,而是由 CLR 的托管环境提供的。主机示例包括

  • 浏览器
  • ASP.NET
  • Shell 主机(普通应用程序)

这些主机本身向给定程序集的 CLR 提供有关站点、区域等的信息。

于 2010-10-04T08:11:24.967 回答