關于ADO.NET權(quán)限集拓展
我們之前介紹了關于ADO.NET程序集,這里我們來看看ADO.NET權(quán)限集是怎么回事,本文先初步的讓大家了解一些關于權(quán)限集的基本用法。希望大家在以后的工作中能積累這方面的知識。.NET Framework 提供基于角色的安全性和代碼訪問安全性 (CAS),這兩種安全性都可以通過公共語言運行庫 (CLR) 提供的公共基礎結(jié)構(gòu)實現(xiàn)。 對于非托管代碼,大多數(shù)應用程序都可以使用用戶或主體權(quán)限執(zhí)行。因此,當擁有提升權(quán)限的用戶運行惡意軟件或包含錯誤的軟件時,計算機系統(tǒng)可能會受到損壞并危及私有數(shù)據(jù)。
#T#啟用具有自定義權(quán)限集的部分信任
要對特定區(qū)域啟用System.Data.SqlClient權(quán)限,系統(tǒng)管理員必須創(chuàng)建自定義的權(quán)限集,并將其設置為特定區(qū)域的權(quán)限集。不能修改默認權(quán)限集(如LocalIntranet)。例如,要對Zone為LocalIntranet的代碼加入System.Data.SqlClient權(quán)限,系統(tǒng)管理員可以復制LocalIntranet的權(quán)限集,將其重命名為“CustomLocalIntranet”,添加System.Data.SqlClient權(quán)限,再使用代碼訪問安全策略工具(Caspol.exe)導入CustomLocalIntranet權(quán)限集,然后將LocalIntranet_Zone權(quán)限集設置為CustomLocalIntranet。
示例ADO.NET權(quán)限集
下面是在部分受信任方案中,SQLServer.NETFramework數(shù)據(jù)提供程序的示例權(quán)限集。有關創(chuàng)建自定義權(quán)限集的信息,請參見使用Caspol.exe配置權(quán)限集。
- <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>