偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET的模擬應(yīng)用程序

開發(fā) 后端
本文介紹ASP.NET的模擬應(yīng)用程序,以及介紹為了增強(qiáng)安全性,標(biāo)識(shí)部分支持在注冊(cè)表中存儲(chǔ)加密的userName和password屬性。

ASP.NET 應(yīng)用程序可以選擇以這些應(yīng)用程序當(dāng)前正為之操作的客戶的身份執(zhí)行。通常這樣做的原因是為了避免在 ASP.NET 應(yīng)用程序代碼中處理身份驗(yàn)證和授權(quán)問題。而您依賴于 Microsoft Internet 信息服務(wù) (IIS) 來(lái)驗(yàn)證用戶,然后將已通過驗(yàn)證的標(biāo)記傳遞給 ASP.NET 應(yīng)用程序;或者,如果無(wú)法驗(yàn)證用戶,則傳遞未經(jīng)身份驗(yàn)證的標(biāo)記。不論何種情況,如果啟用了“模擬”,則 ASP.NET 應(yīng)用程序會(huì)模擬所收到的任何標(biāo)記。當(dāng)前模擬客戶的 ASP.NET 應(yīng)用程序依賴于 NTFS 目錄和文件中的設(shè)置來(lái)允許客戶獲得訪問權(quán)限或拒絕其訪問。務(wù)必將服務(wù)器文件空間格式化為 NTFS,以便可以設(shè)置訪問權(quán)限。

默認(rèn)情況下禁用模擬。為了 ASP 的兼容性,用戶必須顯式啟用模擬。如果為給定的應(yīng)用程序啟用模擬,則 ASP.NET 總是模擬 IIS 提供給 ISAPI 擴(kuò)展的訪問標(biāo)記。該標(biāo)記既可以是已驗(yàn)證用戶標(biāo)記,也可以是匿名用戶的標(biāo)記(如 IUSR_MACHINENAME)。不論應(yīng)用程序中使用哪種身份驗(yàn)證類型,模擬都會(huì)發(fā)生。

只能模擬應(yīng)用程序代碼,編譯和配置作為進(jìn)程標(biāo)記讀取。編譯的結(jié)果放在“Temporary ASP.NET files”目錄中。所模擬的帳戶需要對(duì)該目錄的讀/寫訪問權(quán)。如果應(yīng)用程序位于通用命名規(guī)則 (UNC) 共享上,除非使用配置帳戶,否則,ASP.NET 將總是模擬提供給 IIS 的標(biāo)記來(lái)訪問該共享。如果提供了顯式配置的帳戶,ASP.NET 將使用該帳戶取代 IIS UNC 標(biāo)記。確實(shí)需要基于每個(gè)請(qǐng)求的模擬應(yīng)用程序可以直接配置為模擬提交請(qǐng)求的用戶。

默認(rèn)情況下,在計(jì)算機(jī)級(jí)別上禁用模擬。而且除非被重寫,否則所有的應(yīng)用程序域都繼承此設(shè)置??梢酝ㄟ^將配置文件放置在應(yīng)用程序根目錄下來(lái)啟用模擬。有關(guān) ASP.NET 配置系統(tǒng)的更多信息,請(qǐng)參見 ASP.NET 配置。

與其他配置指令的情況相同,此指令分層應(yīng)用。除非被顯式重寫,否則,層次結(jié)構(gòu)中的嵌套程序?qū)⒆駨乃?。此設(shè)置的默認(rèn)值如下所示。

  1. <impersonation enable="false"/> 

為應(yīng)用程序啟用模擬的最小配置文件可能看上去和下面的示例類似。

  1. <!-- Web.config file. --> 
  2. <identity impersonate="true"/> 

還有以可配置身份運(yùn)行應(yīng)用程序的名稱支持。例如:

  1. <identity impersonate="true" userName="contoso\Jane" password="pass"/> 

這將允許整個(gè)應(yīng)用程序以 contoso\Jane 運(yùn)行,不論請(qǐng)求的身份如何,只要密碼正確即可。可以將這種類型的模擬委托給另一臺(tái)計(jì)算機(jī)。

您可以以編程的方式讀取被模擬用戶的標(biāo)識(shí),如下例所示。

  1. [Visual Basic]  
  2. Dim username As String = System.Security.Principal.WindowsIdentity.GetCurrent().Name  
  3.  
  4. [C#]  
  5. String username = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

在上例中,userName 和 password 以明文形式存儲(chǔ)在配置文件中。雖然 IIS 不傳輸 .config 文件來(lái)響應(yīng)用戶代理請(qǐng)求,但是可以通過其他途徑讀取配置文件,例如通過在包含服務(wù)器的域上具有適當(dāng)憑據(jù)的已經(jīng)過身份驗(yàn)證的用戶。為了增強(qiáng)安全性,標(biāo)識(shí)部分支持在注冊(cè)表中存儲(chǔ)加密的 userName 和 password 屬性,如下例所示。

  1. userName="registry:HKLM\Software\AspNetIdentity,Name" 
  2. password="registry:HKLM\Software\AspNetIdentity,Password" 

字符串中位于關(guān)鍵字 registry 之后和逗號(hào)之前的部分表示 ASP.NET 打開的注冊(cè)表項(xiàng)的名稱。逗號(hào)之后的部分包含一個(gè)字符串值的名稱,ASP.NET 從此名稱中讀取憑據(jù)。必須有逗號(hào),并且憑據(jù)必須存儲(chǔ)在 HKLM 配置單元中。如果配置格式不正確,則 ASP.NET 不會(huì)啟動(dòng)輔助進(jìn)程,然后將顯示造成當(dāng)前帳戶創(chuàng)建失敗的代碼路徑。

憑據(jù)必須為 REG_BINARY 格式,并且包含 Windows API 函數(shù) CryptProtectData 調(diào)用的輸出。可以用 ASP.NET 設(shè)置注冊(cè)表控制臺(tái)應(yīng)用程序 (Aspnet_setreg.exe) 來(lái)創(chuàng)建加密憑據(jù)并將它們存儲(chǔ)在注冊(cè)表中。該應(yīng)用程序使用 CryptProtectData 完成加密。若要同 Visual C++ 源代碼和文檔一起下載 Aspnet_setreg.exe,請(qǐng)?jiān)L問 Web 站點(diǎn) www.asp.net并搜索“aspnet_setreg”。

應(yīng)該對(duì)存儲(chǔ)加密憑據(jù)的密鑰的訪問權(quán)限進(jìn)行配置,僅向 Administrators 和 SYSTEM 提供訪問權(quán)。由于密鑰會(huì)被作為 SYSTEM 運(yùn)行的 ASP.NET 進(jìn)程讀取,因此應(yīng)設(shè)置以下權(quán)限:

Administrators:F
SYSTEM:F
CREATOR OWNER:F
ProcessAccount:R
這可以提供兩道保護(hù)數(shù)據(jù)的防線:

ACL 權(quán)限要求訪問數(shù)據(jù)的身份是 Administrator。
攻擊者必須在服務(wù)器上運(yùn)行代碼 (CryptUnprotectData) 才能恢復(fù)帳戶的憑據(jù)。以上介紹ASP.NET的模擬應(yīng)用程序

【編輯推薦】

  1. 淺析ASP.NET Web 安全性
  2. ASP.NET的Session State
  3. 淺析IsPostBack屬性ASP.NET
  4. ASP.NET構(gòu)架與安全機(jī)制
  5. 概述ASP.NET水晶報(bào)表
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-22 17:32:40

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-27 17:46:42

WCF服務(wù)ASP.NET應(yīng)用程序

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-28 10:11:06

ASP.NET應(yīng)用程序

2009-07-21 15:14:32

預(yù)編譯應(yīng)用程序ASP.NET

2009-07-22 18:02:27

論壇應(yīng)用程序ASP.NET MVC

2009-07-22 18:07:55

論壇應(yīng)用程序ASP.NET MVC

2009-07-24 11:25:53

Web應(yīng)用程序工程ASP.NET MVC

2009-07-23 13:14:20

ASP.NET應(yīng)用程序

2009-08-04 11:46:09

2009-07-21 15:23:55

預(yù)編譯Web應(yīng)用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web

2009-08-14 17:57:43

ASP.NET MVC
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)