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