-- 作者:admin
-- 发布时间:11/9/2004 2:26:00 AM
-- 管窥.net------CAS
发信人: walts (小天堂), 信区: DotNET 标 题: 管窥.net------CAS 发信站: BBS 水木清华站 (Wed May 9 10:51:16 2001) 什么是CAS? CAS是.Net安全模型Code Access Security(代码访问安全)的缩写. 它决定了一段代码是否允许在.Net下运行, 以及在运行的时候能够 使用什么资源. 例如: CAS会阻止一个.Net下的web应用程序格式化 硬盘.CAS是如何工作的? CAS是如何工作的? CAS安全策略提供了两个概念,即代码组和权限. 每个.Net配件都属于一个特定的代码组, 而每 个代码组都被赋予一组权限(每组权限都有自己 的名字)的集合. 例如: 对于缺省得安全策略,从 web上下载的控件,都属于'Zone-Internet'代码组. 而这个代码组具有预定义的'Internet'权限集合. (事实上, 这组命名权限集合具有一组限制非常严格的权限) 谁来定义CAS代码组? Microsoft定义了一些缺省的代码组.但是我们也可以创建自己的代码组. 在命令行下运行命令'caspol-lg', 就可以看到自己的.Net平台的代码组: Level = Machine Code Groups: 1. All code: Nothing 1.1. Zone - MyComputer: FullTrust 1.1.1. Honor SkipVerification requests: SkipVerification 1.2. Zone - Intranet: LocalIntranet 1.3. Zone - Internet: Internet 1.4. Zone - Untrusted: Nothing 1.5. Zone - Trusted: Internet 1.6. StrongName - 0024000004800000940000000602000000240000525341310004000003 000000CFCB3291AA715FE99D40D49040336F9056D7886FED46775BC7BB5430BA4444FEF8348EBD06 F962F39776AE4DC3B7B04A7FE6F49F25F740423EBF2C0B89698D8D08AC48D69CED0FC8F83B465E08 07AC11EC1DCC7D054E807A43336DDE408A5393A48556123272CEEEE72F1660B71927D38561AABF5C AC1DF1734633C602F8F2D5: Everything 注意: 1. 最上面的是最通用代码权限组 All Code, 从它开始可以按照树状细致划分出其它的代码组. 2. 每个下面的组的权限都继承上层的权限,同时都比上层的组的权限要限制严格. 怎样自己定义CAS代码组? 就是用caspol工具. 举例, 假设你信任csharp.tongtu.net上的所有代码, 允许它具有访问你 的系统的所有权限, 但是对其它站点上的程序要保证具有缺省限制. 首先, 在CAS中的'Zone-Internet'组下增加一个新的代码组, 运行 caspol -ag 1.3 -site csharp.tongtu.net FullTrust 然后, 你运行'caspol -lg'就能看见新的代码组1.3.1已经增加进去了, ... 1.3. Zone - Internet: Internet 1.3.1. Site - csharp.tongtu.net: FullTrust ... 注意: 这里面1.3.1只是一个用于管理CAS代码组的手段的, 它对于.Net运行时是不可见的. 怎样把CAS彻底关闭? 如果是管理员,就可以执行caspol -s off -- ※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.142.76] 上一篇 返回上一页 回到目录 回到页首 下一篇
|