ASP.NET代码访问安全(Code Access Security)2011-12-30 博客园 Wencui代码访问安全(Code Access Security),顾名思义,是用来限制代码的。它能限制代码能否被执行,进而来限制ASP.NET程序能执行什么样的操作。比如CAS限制你不允许使用FileIOPermission,那么ASP.NET程序便不能进行IO操作。同样,如果限制你使用SqlClientPermission,ASP.NET程序便不能进行SQL Server的操作。CAS默认定义了5个不同的level,它们是Full,High,Medium,Low 以及Minimal。从Full到Minimal,权限越来越低。基本上在Full level的时候什么都能做,Minimal level的时候只能执行最基本的mangered code。在我们的ASP.NET程序中,trust level是在根目录下的web.config中配置的,如:<trust level="Full"/>,如果你没有配置的话,默认为Full level。今天以一个host admin的角色讲讲怎样通过CAS来保护server。大概有如下几个步骤:1) 明确server上ASP.NET程序需要进行什么样的操作。2) 从预定义好的5个级别中选择一个最适合的级别。3) 如果没有合适的,自己定义一个级别。4) 定义级别不允许被覆盖。5) 测试效果。第一步:明确server上ASP.NET程序需要进行什么样的操作。这是要根据host admin的来定的,在这方面我也没太多经验,这里不过多讨论。P.S. 如果你想知道你的ASP.NET程序需要什么样的权限,你可以通过一个.NET Framework自带的工具来查看。这个工具叫Permissions Calculator Tool,我们可以通过.NET Framework的命令窗口来调用它:输入:percalc -show D:MyProjectsJobinJob.dll 回车
