我们之前介绍了关于ADO.NET程序集,这里我们来看看ADO.NET权限集是怎么回事,本文先初步的让大家了解一些关于权限集的基本用法。希望大家在以后的工作中能积累这方面的知识。.NET Framework 提供基于角色的安全性和代码访问安全性 (CAS),这两种安全性都可以通过公共语言运行库 (CLR) 提供的公共基础结构实现。 对于非托管代码,大多数应用程序都可以使用用户或主体权限执行。因此,当拥有提升权限的用户运行恶意软件或包含错误的软件时,计算机系统可能会受到损坏并危及私有数据。
#T#启用具有自定义权限集的部分信任
要对特定区域启用System.Data.SqlClient权限,系统管理员必须创建自定义的权限集,并将其设置为特定区域的权限集。不能修改默认权限集(如LocalIntranet)。例如,要对Zone为LocalIntranet的代码加入System.Data.SqlClient权限,系统管理员可以复制LocalIntranet的权限集,将其重命名为“CustomLocalIntranet”,添加System.Data.SqlClient权限,再使用代码访问安全策略工具(Caspol.exe)导入CustomLocalIntranet权限集,然后将LocalIntranet_Zone权限集设置为CustomLocalIntranet。
示例ADO.NET权限集
下面是在部分受信任方案中,SQLServer.NETFramework数据提供程序的示例权限集。有关创建自定义权限集的信息,请参见使用Caspol.exe配置权限集。
- <PermissionSetclassPermissionSetclass="System.Security.NamedPermissionSet"
- version="1"
- Name="CustomLocalIntranet"
- Description="Custompermissionsetgiventoapplicationson
- thelocalintranet">
- <IPermissionclassIPermissionclass="System.Data.SqlClient.SqlClientPermission,System.Data,Version=2.0.0000.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"
- version="1"
- AllowBlankPassword="False">
- <addConnectionStringaddConnectionString="DataSource=(local);IntegratedSecurity=true;"
- KeyRestrictions="InitialCatalog=;ConnectionTimeout=;
- Encrypt=;PacketSize=;"
- KeyRestrictionBehavior="AllowOnly"/>
- </IPermission>
- </PermissionSet>