2010-10-04 77 views
2

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

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

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

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

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

但如何确定证据,如出版商,网站,区域,网址?这些证据数据在哪里存储?他们是大会元数据的一部分吗?我不认为像Zone或Site这样的证据应该是元数据的一部分。

非常感谢。

回答

2

下面的页面呢,我可以找到解释这个信息是如何获得

总结的最好的是,大部分信息是不大会本身,而是提供由CLR的托管环境提供。主机的例子包括

  • 浏览器
  • ASP.Net
  • 壳牌主机(正常的应用程序)

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

+0

在.NET 4.0中,CAS有没有被删除/废弃,因为几乎没有人使用它? – 2010-10-04 09:11:18

+1

@Peter:CAS在.NET 4.0中仍然非常活跃。但是,CLR本身不再强制执行CAS政策。相反,CAS策略仅由诸如ASP.NET和IE之类的主机强制实施。有关详细信息,请参阅http://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx。 – 2010-10-04 12:03:32

+0

@Nicole:+1回答。 TNX – 2010-10-04 19:00:26