关于代码访问安全性(CAS)的问题

时间:2010-10-04 08:03:07

标签: .net security clr code-access-security

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

CAS的基本机制是CLR从程序集中收集某些证据,然后使用证据和策略来计算程序集代码的权限集。并且程序集的代码除了该权限集之外什么都不做。

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

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

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

但如何确定发布者,网站,区域,网址等证据?这些证据数据存储在哪里?它们是程序集元数据的一部分吗?我不认为像Zone或Site这样的证据应该是元数据的一部分。

非常感谢。

1 个答案:

答案 0 :(得分:2)

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

摘要是,大部分此类信息不在程序集本身上,而是由CLR的托管环境提供。主机的例子包括

  • 浏览器
  • ASP.Net
  • Shell Host(正常应用程序)

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