ODP.NET 安全特性深度解析
1. 栈遍历机制
当调用 Demand
方法时,会触发栈遍历。每个程序集可能会被多个更高级别的程序集调用。例如,当 DataLayerFunctions.dll
程序集尝试访问 Oracle 数据库时,其中的 Demand
方法调用会触发向上的栈遍历,以检查每个调用程序集的权限。这是合理的,因为如果 CustomDataGrid.dll
没有被授予访问 Oracle 数据库的权限,那么 DataLayerFunctions.dll
程序集中的请求最终应该失败。
2. 配置 CAS 策略
CAS(代码访问安全性)的使用包括两个方面:一方面是配置 CAS 策略(通常由系统管理员完成),另一方面是从应用程序内部请求权限。CAS 策略可以通过以下两种方式进行配置:
2.1 通过 GUI 配置 CAS 策略
可以使用 .NET Framework 配置工具手动配置 CAS 策略,具体操作步骤如下:
1. 选择“开始”>“控制面板”>“管理工具”>“.NET Framework 2.0 配置工具”来启动该工具。
2. 该工具在机器上可能显示为“Microsoft .NET Framework 2.0 配置”,不要被版本号吓到,它也可用于管理 .NET Framework 3.0 和 3.5 的 CAS 策略。如果机器上看不到该工具的特定版本,可以通过安装 .NET Framework 2.0 SDK 来安装它。
3.