国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET 代碼訪問安全性

2024-07-10 13:06:32
字體:
供稿:網(wǎng)友

 使用 asp.net 來承載多個(gè) web 站點(diǎn)的一個(gè)主要優(yōu)點(diǎn)是:公共語言運(yùn)行庫支持代碼訪問安全,可幫助保護(hù)服務(wù)器應(yīng)用程序的安全。根據(jù)關(guān)于代碼來源的證據(jù)(例如帶有強(qiáng)名稱的程序集或源的 url 等證據(jù)),代碼被分配到安全區(qū)域分類中。如果不能為安裝在公共服務(wù)器上的各個(gè)互不相關(guān)的應(yīng)用程序配置安全機(jī)制,那么 asp.net 頁中屬于一個(gè)應(yīng)用程序的代碼將能夠讀取另一個(gè)應(yīng)用程序中的文件(例如 web.config 文件)。以完全信任方式運(yùn)行的應(yīng)用程序只受操作系統(tǒng)帳戶的限制,這些應(yīng)用程序在該帳戶下執(zhí)行。

通過對(duì)程序集進(jìn)行強(qiáng)命名并為該程序集添加策略,可以方便地為個(gè)別程序集處理代碼訪問安全性。但是,作為動(dòng)態(tài)頁編譯的結(jié)果,將動(dòng)態(tài)生成許多 asp.net 程序集,因此這些程序集未進(jìn)行強(qiáng)命名,所以需要附加功能。

asp.net 允許您向應(yīng)用程序分配對(duì)應(yīng)于一組預(yù)定義權(quán)限的可配置信任級(jí)別。默認(rèn)情況下(除非顯式更改配置),應(yīng)用程序?qū)⒔邮盏脚c它們提供的證據(jù)相稱的信任級(jí)別。例如,本地應(yīng)用程序必須在 mycomputer 區(qū)域中使用 full 信任權(quán)限集運(yùn)行,位于通用命名規(guī)則 (unc) 共享上的應(yīng)用程序必須在 intranet 區(qū)域中使用 localintranet 限制權(quán)限集運(yùn)行。如果要使用低于 full 信任的級(jí)別運(yùn)行 web 應(yīng)用程序,則您必須使用 asp.net 信任級(jí)別和策略文件中定義的某個(gè)預(yù)定義信任級(jí)別來實(shí)施部分信任策略。

您可以使用以下配置設(shè)置重寫默認(rèn)行為并將應(yīng)用程序和給定的安全策略關(guān)聯(lián)起來。

      

<location path="myapp" allowoverride="false"><trust level="high"originurl="http://www.contoso.com"/></location>

<trust> 配置標(biāo)記可應(yīng)用于計(jì)算機(jī)級(jí)別或?qū)哟谓Y(jié)構(gòu)中的任何應(yīng)用程序根目錄。

如果要為整個(gè)站點(diǎn)設(shè)置策略,您可以通過將站點(diǎn)的根目錄指定為路徑位置完成該操作,如下所示。

<location path="contososite" allowoverride="false"><trust level="high"originurl="http://www.contoso.com"/></location>

如果不想讓應(yīng)用程序能夠指定它們自己的信任級(jí)別(多數(shù)共享服務(wù)器安裝中是這種情況),則在使用 allowoverride 屬性指定 <location> 指令時(shí)應(yīng)小心。

下表列出了 <trust> 元素默認(rèn)支持的屬性。

屬性說明默認(rèn)支持的值
level指定應(yīng)用程序?qū)⒃谄渲羞\(yùn)行的安全區(qū)域。full、high、medium、low 和 minimal。
originurl允許管理員設(shè)置應(yīng)用程序的源的 url。

這允許依賴于宿主概念的權(quán)限正常工作

格式正確的 http url。

默認(rèn)情況下,向與不同的安全級(jí)別關(guān)聯(lián)的策略授予的權(quán)限顯示在下表中。

   級(jí)別
權(quán)限完全最小
aspnethostingpermission完全最小
environmentunun讀:temp、tmp、os、username、computername      
fileiounun讀、寫、追加、路徑發(fā)現(xiàn):應(yīng)用程序目錄讀、路徑發(fā)現(xiàn):應(yīng)用程序目錄   
isolatedstorageununassemblyisolationbyuser、不受限制的用戶配額1 mb 配額(對(duì)于個(gè)別站點(diǎn)可能有所變化)、assemblyisolationbyuser   
reflectionunreflectionemit         
registryun            
securityun執(zhí)行、斷言、控制主體、控制線程、遠(yuǎn)程處理配置執(zhí)行、斷言、控制主體、控制線程、遠(yuǎn)程處理配置執(zhí)行執(zhí)行
socketunun         
webpermissionunun連接到原始主機(jī)(如果已配置)      
dnsununun      
printingun默認(rèn)打印默認(rèn)打印      
oledbpermissionun            
sqlclientpermissionununallowblankpassword=false      
eventlogun            
message
queue
un            
service
controller
un            
performance
counters
un            
directory
service
un            

 

un = 無限制的

空白 = 無權(quán)限

如果某個(gè)權(quán)限級(jí)別可用但未在安全策略中明確提出,則使用 full 信任級(jí)別運(yùn)行的應(yīng)用程序可以使用它(因?yàn)樗鼈兙哂?full 信任權(quán)限集)。使用較低信任級(jí)別運(yùn)行的應(yīng)用程序?qū)⒉荒苁褂帽环秋@式權(quán)限保護(hù)的資源,除非您明確更改策略允許它使用。

如該表所示,high 信任應(yīng)用程序?qū)ξ挥谄鋺?yīng)用程序目錄中的文件具有讀/寫權(quán)限,而 low 信任應(yīng)用程序?qū)ξ挥谄鋺?yīng)用程序目錄中的文件具有只讀權(quán)限。因?yàn)?fileio 權(quán)限依賴于物理路徑(例如 c:/myapppath),所以 asp.net 在策略文件中使用標(biāo)記化的語句,這些標(biāo)記化的語句在運(yùn)行時(shí)被應(yīng)用程序的相關(guān)路徑信息替換。

請(qǐng)注意,webpermission 允許應(yīng)用程序連接到原始主機(jī)。該機(jī)制通過在給定應(yīng)用程序的 <trust> 部分提供可選的 originurl 屬性在 asp.net 中工作。originurl 屬性用于替換策略文件中的 $originhost$ 變量,如 web_hightrust.config 中的以下代碼所示。

<ipermission class="webpermission" version="1"><connectaccess><uri uri="$originhost$"/></connectaccess></ipermission>

socketpermission 獲取主機(jī)名或以點(diǎn)分隔的 ip 字符串(可能帶有通配符),webpermission 獲取包括協(xié)議的正則表達(dá)式(例如 http://backendmachine/.*)。如果要對(duì)此進(jìn)行更改,您可以使用所需的權(quán)限更改策略文件(或通過復(fù)制默認(rèn)設(shè)置創(chuàng)建新的策略文件)。例如,您可以從 asp.net 命名權(quán)限集更改 socketpermission 部分,以向端口 8080 上的“backend1”和“backend2”授予 tcp 套接字連接,如下所示。

<ipermission class="socketpermission" version="1"><connectaccess><endpoint host="backend1" transport="tcp" port="8080"/><endpoint host="backend2" transport="tcp" port="8080"/></connectaccess></ipermission>
 
出處:msdn
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 磐石市| 东乌| 高清| 古交市| 闽侯县| 辽宁省| 临邑县| 台南县| 荆州市| 康定县| 保靖县| 阿城市| 宿迁市| 南投市| 双峰县| 柘城县| 阳曲县| 墨脱县| 子洲县| 裕民县| 崇信县| 南川市| 亳州市| 蓝田县| 昭苏县| 镇沅| 咸阳市| 武义县| 青海省| 那曲县| 石首市| 弥渡县| 福安市| 高要市| 临高县| 宿迁市| 鄂托克旗| 鹤山市| 无为县| 马关县| 陆良县|