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