【问题标题】:Question about Code Access Security (CAS)关于代码访问安全 (CAS) 的问题
【发布时间】:2010-10-04 08:03:07
【问题描述】:

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

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

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

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

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

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

非常感谢。

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 在 .NET 4.0 中 CAS 是不是有点被删除/废弃了,因为几乎没有人使用它?
    • @Peter:CAS 在 .NET 4.0 中仍然很活跃。但是,CLR 本身不再强制实施 CAS 策略。相反,CAS 策略仅由 ASP.NET 和 IE 等主机强制实施。详情请见blogs.msdn.com/b/shawnfa/archive/2010/02/24/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    相关资源
    最近更新 更多