我正在研究.NET 2.0的代码访问安全性。我目前的理解如下:
CAS的基本机制是CLR从程序集中收集某些证据,然后使用证据和策略来计算程序集代码的权限集。并且程序集的代码除了该权限集之外什么都不做。
证据用于将某个程序集分类到某个代码组,并且在代码组粒度上给出权限集。
CLR可以在运行时收集几种类型的证据。
很容易确定应用程序目录,GAC,哈希,强名称等证据。
但如何确定发布者,网站,区域,网址等证据?这些证据数据存储在哪里?它们是程序集元数据的一部分吗?我不认为像Zone或Site这样的证据应该是元数据的一部分。
非常感谢。
答案 0 :(得分:2)
以下页面尽我所能解释如何获取此信息
摘要是,大部分此类信息不在程序集本身上,而是由CLR的托管环境提供。主机的例子包括
这些主机本身向给定程序集的CLR提供有关站点,区域等的信息。