2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

ASP.NET 中的進(jìn)程和請求標(biāo)識

 zqx1000 2006-11-14

ASP.NET 中的進(jìn)程和請求標(biāo)識

文章編號 : 317012
最后修改 : 2005年11月9日
修訂 : 12.0
本文的發(fā)布號曾為 CHS317012

概要

本文概述向默認(rèn)的進(jìn)程帳戶授予的訪問權(quán)限并描述這些權(quán)限可能對于某些任務(wù)限制過嚴(yán)的一些情況。

在 Microsoft Windows 2000 和 Microsoft Windows XP 上的 ASP.NET 的默認(rèn)安裝中,ASP.NET 在輔助進(jìn)程中運行 Web 應(yīng)用程序代碼。默認(rèn)情況下,此進(jìn)程的標(biāo)識使用名為 ASPNET 帳戶(全名是 aspnet_wp 帳戶)的本地帳戶。在 ASP.NET 的試用版中,該進(jìn)程標(biāo)識為 System,這是一個功能強(qiáng)大的、對計算機(jī)具有許多訪問權(quán)限的管理帳戶。為了提供特權(quán)較少的默認(rèn)安裝,ASP.NET 的發(fā)行版本使用權(quán)限較小的 ASPNET 帳戶,該帳戶適合于大多數(shù) Web 應(yīng)用程序。

注意:默認(rèn)情況下,如果使用 Microsoft Internet 信息服務(wù) (IIS) 6.0,則 ASP.NET Web 應(yīng)用程序?qū)⑦\行在 NetworkService 帳戶的安全上下文中。

更多信息

配置進(jìn)程標(biāo)識

您可以在安裝根目錄的 Config 子目錄中的 Machine.config 文件的 <processModel> 部分配置進(jìn)程標(biāo)識。userNamepassword 屬性可控制進(jìn)程標(biāo)識。這些屬性的默認(rèn)值如下所示:
<processModel  userName="machine" password="AutoGenerate" />
machineAutoGenerate 值指示 ASP.NET 使用內(nèi)置的 ASPNET 帳戶并為該帳戶使用保密性強(qiáng)的存儲于本地安全機(jī)構(gòu) (LSA) 中的隨機(jī)密碼。

如果您要使用具有更多訪問權(quán)限的進(jìn)程,則可以將 userName 屬性設(shè)置為 System,這將導(dǎo)致 ASP.NET 輔助進(jìn)程使用與 Inetinfo.exe 進(jìn)程相同的標(biāo)識運行。Inetinfo.exe 進(jìn)程默認(rèn)情況下以 System 標(biāo)識運行。在您配置 ASP.NET 輔助進(jìn)程以使用 System 標(biāo)識時,該 ASP.NET 輔助進(jìn)程可以訪問本地計算機(jī)上的幾乎所有資源。在運行 Windows 2000 或 Windows XP 的計算機(jī)上,System 帳戶還具有網(wǎng)絡(luò)憑據(jù)并可以作為計算機(jī)帳戶訪問網(wǎng)絡(luò)資源。 要配置進(jìn)程使之以 System 標(biāo)識運行,請按以下方式更改 <processModel> 部分的 userName 屬性:
<processModel  userName="SYSTEM" password="AutoGenerate" />

ASPNET 帳戶的默認(rèn)權(quán)限

在安裝 ASP.NET 時,將作為本地帳戶創(chuàng)建 ASPNET 帳戶。ASPNET 帳戶僅屬于該計算機(jī)上的用戶組。因此,ASPNET 帳戶具有與用戶組關(guān)聯(lián)的所有權(quán)限,并且可以訪問用戶組對其具有訪問權(quán)限的任何資源。ASPNET 帳戶從用戶組繼承了以下用戶權(quán)限:
SeChangeNotifyPrivilege
SeUndockPrivilege
SeInteractiveLogonRight
SeNetworkLogonRight
除這些權(quán)限之外,默認(rèn)情況下,還授予 ASPNET 帳戶以下權(quán)限:
SeServiceLogonRight
SeBatchLogonRight
SeDenyInteractiveLogonRight
ASP.NET 向 ASPNET 帳戶授予對以下文件夾的特定的完全訪問權(quán)限:
臨時 ASP.NET 文件
%windir%\temp
另外,ASP.NET 將授予對 Microsoft .NET Framework 安裝目錄的讀取權(quán)限。

下表列出了 ASPNET 帳戶所需的“訪問控制列表”(ACL)。Windows 2000 和 Microsoft .NET Framework 的默認(rèn)安裝包含這些訪問控制列表。
位置:%installroot%\ASP.NET Temporary Files
訪問類型:對該文件夾的讀/寫權(quán)限和對驅(qū)動器根文件夾的“列出文件夾內(nèi)容”權(quán)限
帳戶:進(jìn)程帳戶和配置的模擬帳戶
說明:這是用于 ASP.NET 動態(tài)編譯的位置。在此位置下,為每一應(yīng)用程序在獨立的目錄中生成應(yīng)用程序代碼。您可以使用 <compilation> 部分中的 tempDir 屬性來配置根位置。

注意:如果您更改 machine.config 以在另一位置保存 ASP.NET 臨時文件,那么 ASPNET 帳戶必須具有對驅(qū)動器根級別的“列出文件夾內(nèi)容”訪問類型。
位置:%windir%\temp
訪問類型:讀/寫
帳戶:進(jìn)程帳戶
說明:這是可擴(kuò)展標(biāo)記語言 (XML) Web 服務(wù)用來生成序列化代理的位置。
位置:應(yīng)用程序目錄
訪問類型:讀取
帳戶:進(jìn)程帳戶和配置的模擬帳戶
說明:這是應(yīng)用程序內(nèi)容的位置(只需要“讀取”權(quán)限)。
有關(guān)更多信息,請訪問下面的 Microsoft 網(wǎng)站:
http://msdn.microsoft.com/library/en-us/dnnetsec/html/SecNetHT01.asp (http://msdn.microsoft.com/library/en-us/dnnetsec/html/SecNetHT01.asp)
位置:網(wǎng)站根目錄(%systemdrive%\inetpub\wwwroot 或默認(rèn)網(wǎng)站指向的路徑)
訪問類型:讀取
帳戶:進(jìn)程帳戶和配置的模擬帳戶
說明:ASP.NET 嘗試在 drive:\inetpub\wwwroot\web.config 位置讀取配置文件并監(jiān)視更改。
位置:%installroot% 層次結(jié)構(gòu)
訪問類型:讀取
帳戶:進(jìn)程帳戶和配置的模擬帳戶
說明:ASP.NET 必須能夠訪問 Machine.config 文件(在 %installroot% 下的 \Config 子目錄中)上的 .NET Framework 程序集。
位置:%windir%\assembly
訪問類型:讀取
帳戶:進(jìn)程帳戶或配置的模擬帳戶
說明:這是包含共享程序集的全局程序集緩存。
有關(guān)基于 Windows 2000 的計算機(jī)的默認(rèn) ACL 的更多信息,請參見參考 一節(jié)中的“Windows 2000 中的默認(rèn)訪問控制設(shè)置”參考。

注意:默認(rèn)情況下,ASPNET 帳戶通常不具有用來執(zhí)行在本文中描述的某些任務(wù)的正確訪問權(quán)限。

訪問資源

以下幾節(jié)介紹如何使用各種資源。如果您啟用模擬并且向模擬的帳戶授予對資源的訪問權(quán)限,則可以本地訪問其中的許多資源。但是,在您嘗試訪問遠(yuǎn)程資源時,模擬通常不起作用,除非應(yīng)用程序使用可委派的身份驗證機(jī)制,例如 Kerberos 或基本身份驗證。您還可以使用 COM+ 服務(wù)訪問資源,這在用固定標(biāo)識運行代碼 一節(jié)中作了概述。

使用文件資源

要使通過 ASPNET 帳戶運行的應(yīng)用程序能夠向文件寫入,您可以在向文件寫入之前,在代碼中模擬特定的用戶?;蛘吣梢允谟?ASPNET 帳戶寫權(quán)限。您可以授予對單個文件或目錄層次結(jié)構(gòu)的寫權(quán)限。

重要說明:當(dāng)您將單個文件或目錄層次結(jié)構(gòu)的寫權(quán)限授予 ASPNET 帳戶時,所有在服務(wù)器上使用 ASPNET 帳戶運行的 ASP.NET Web 應(yīng)用程序也可以向此文件或目錄層次結(jié)構(gòu)寫入。 有關(guān)在代碼中模擬特定用戶的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
306158 (http://support.microsoft.com/kb/306158/) 如何在 ASP.NET 應(yīng)用程序中實現(xiàn)模擬
要更改文件的訪問控制列表,請按照下列步驟操作:
1. 打開 Windows 資源管理器。
2. 選擇您要更改權(quán)限的文件或文件夾。
3. 文件菜單上,單擊屬性。
4. 單擊安全選項卡。單擊以選中 ACL 權(quán)限對應(yīng)的復(fù)選框。
您也可以使用腳本或 Cacls.exe 命令行工具(包括在 Windows 中)更改文件的 ACL。

ASP.NET 1.1 使用 <DriveName>\Documents and Settings\<MachineName>\ASPNET 文件夾來存儲進(jìn)程文件(其中 <DriveName> 是計算機(jī)上安裝 ASP.NET 的驅(qū)動器,<MachineName> 是計算機(jī)的名稱)。

啟用模擬

使用模擬,可在請求實體的安全上下文中運行,既可以作為經(jīng)過身份驗證的用戶也可以作為匿名用戶運行。在 ASP.NET 中,模擬是可選的,默認(rèn)情況下不啟用。要在計算機(jī)或應(yīng)用程序級別啟用模擬,請在 Machine.config 或 Web.config 文件的 <system.web> 部分添加以下配置指令:
<identity impersonate="true"/>

使用數(shù)據(jù)庫

使用 SQL 身份驗證連接到數(shù)據(jù)庫的應(yīng)用程序通常不受切換到 ASPNET 帳戶的影響。使用集成身份驗證和模擬的應(yīng)用程序也是如此。但是,如果應(yīng)用程序沒有模擬并且正使用 Windows 身份驗證,則您必須為 ASPNET 帳戶授予對數(shù)據(jù)庫的訪問權(quán)限。

在嘗試通過命名管道使用集成的 Windows 身份驗證向 Microsoft SQL Server 驗證身份時,您不能使用 ASPNET 帳戶。但是,您可以通過傳輸控制協(xié)議 (TCP) 傳輸成功地讓 ASPNET 帳戶使用集成的 Windows 身份驗證。

如果應(yīng)用程序必須使用 Microsoft Access 數(shù)據(jù)庫,則 ASPNET 帳戶必須能夠?qū)懭霐?shù)據(jù)庫文件。管理員必須相應(yīng)地調(diào)整文件權(quán)限。

使用事件日志

必須向應(yīng)用程序事件日志中寫入事件的應(yīng)用程序,在其使用 ASPNET 帳戶運行時能夠向事件日志中寫入。如果應(yīng)用程序必須創(chuàng)建新的事件日志類別,則該應(yīng)用程序必須在 HKEY_LOCAL_MACHINE 注冊表配置單元下創(chuàng)建一個注冊表項,而 ASPNET 帳戶無法做到這一點。

要在運行時創(chuàng)建類別,您必須啟用模擬,然后模擬一個具有更多訪問權(quán)限的帳戶?;蛘?,可以讓管理員創(chuàng)建該類別,這樣應(yīng)用程序就可以在運行時寫入該類別。

如果應(yīng)用程序必須創(chuàng)建新事件日志類別,請在安裝時創(chuàng)建這些類別。在創(chuàng)建該類別后,ASPNET 帳戶就可以寫入應(yīng)用程序事件日志了。

使用 System.DirectoryServices 和 Active Directory

如果 Web 應(yīng)用程序必須訪問 Active Directory,那么該應(yīng)用程序可以在支持委派的環(huán)境中使用模擬?;蛘?,該應(yīng)用程序可向 System.DirectoryServices 命名空間中的 DirectoryEntry 構(gòu)造函數(shù)提供顯式憑據(jù)以訪問 Active Directory。如果應(yīng)用程序使用顯式憑據(jù),則應(yīng)用程序應(yīng)該相應(yīng)地使用諸如 COM+ 構(gòu)造字符串或 Windows 數(shù)據(jù)保護(hù)應(yīng)用程序編程接口 (API) 一類的技術(shù)存儲憑據(jù)。

使用性能計數(shù)器

ASPNET 帳戶具有足夠的權(quán)限向性能計數(shù)器數(shù)據(jù)中寫入(但沒有讀取權(quán)限)。如果應(yīng)用程序必須讀取性能計數(shù)器數(shù)據(jù)或創(chuàng)建性能計數(shù)器類別,則管理員或高級用戶權(quán)限是必需的。

如果應(yīng)用程序必須創(chuàng)建新的性能計數(shù)器類別,則在安裝時創(chuàng)建這些類別。在創(chuàng)建這些類別后,ASPNET 帳戶可以向計數(shù)器中寫入。

您在使用 ASPNET 帳戶時仍可以使用性能監(jiān)視器工具 (Perfmon.exe) 監(jiān)視 ASP.NET 性能計數(shù)器。

在 Windows 2000 中,請按照下列步驟操作:
1. 運行注冊表編輯器。
2. 找到以下注冊表項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_1.1.4322\Names
3. 單擊“安全”選項卡。
4. 使用以下權(quán)限添加輔助進(jìn)程標(biāo)識:
查詢數(shù)值
設(shè)置數(shù)值
創(chuàng)建子項
枚舉子項
通知讀取控制
在 Windows Server 2003 中,將此標(biāo)識添加到 IIS_WPG 組。

啟動進(jìn)程外 COM 服務(wù)器

在作為 ASPNET 帳戶運行時必須啟動進(jìn)程外 COM 服務(wù)器的應(yīng)用程序可以使用 Dcomcnfg.exe 工具專門向該帳戶授予啟動權(quán)限。

調(diào)試問題

默認(rèn)情況下,您不能從客戶端應(yīng)用程序逐句執(zhí)行 XML Web 服務(wù)調(diào)用。要逐句執(zhí)行 XML Web 服務(wù),您必須將 ASPNET 帳戶添加到正運行 XML Web 服務(wù)的計算機(jī)上的“調(diào)試器用戶”組。

用固定標(biāo)識運行代碼

在 COM+ 服務(wù)中,您可以用固定標(biāo)識運行代碼。您可以使用 System.EnterpriseServices 命名空間的 ServicedComponent 類來編寫利用 COM+ 服務(wù)的托管代碼組件。您可以在從 ServicedComponent 派生出的一個類中包含特權(quán)功能,然后作為一個具有配置的標(biāo)識的 COM+ 服務(wù)器應(yīng)用程序運行此類。

在 UNC 共享上編譯代碼隱藏文件

在 ASP.NET 中,您可以使用幾種方法開發(fā)應(yīng)用程序文件:
您可以在 .aspx 文件中使用超文本標(biāo)記語言 (HTML),然后可以在 Bin 目錄的預(yù)編譯的程序集中存儲該頁的代碼。這是 Microsoft Visual Studio .NET 模型。
您可以將所有代碼和 HTML 內(nèi)容打包在單個即需編譯的源文件中。
您可以將 HTML 表示放入一個 ASP.NET 文件中,然后通過在 <%@ Assembly %> 指令中使用 src 屬性來動態(tài)編譯該文件的任何相關(guān)的源代碼。
注意:如果應(yīng)用程序內(nèi)容位于網(wǎng)絡(luò)共享中,則編譯器以 ASPNET 帳戶啟動并且不具有訪問該文件的網(wǎng)絡(luò)憑據(jù)。如果您使用網(wǎng)絡(luò)共享區(qū),則不能使用 src 屬性指向某個文件。您必須改用其他方法之一。

在主域控制器或備份域控制器上使用 ASP.NET


默認(rèn)情況下,如果在域控制器上使用 ASP.NET 1.1,則 ASP.NET Web 應(yīng)用程序?qū)⑦\行在 IWAM_<ComputerName> 帳戶的安全上下文中(其中 <ComputerName> 是計算機(jī)的名稱)。

有關(guān)其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
315158 (http://support.microsoft.com/kb/315158/) FIX:ASP.NET 在域控制器上使用默認(rèn) ASPNET 帳戶不能正常運行
返回頁首

讀取 IIS 元數(shù)據(jù)庫

ASPNET 帳戶無法讀取 Microsoft Internet 信息服務(wù) (IIS) 元數(shù)據(jù)庫。如果應(yīng)用程序必須訪問元數(shù)據(jù)庫設(shè)置,則可以通過使用 Metaacl.exe 實用工具,有選擇地向元數(shù)據(jù)庫節(jié)點授予讀訪問權(quán)限。

如果應(yīng)用程序必須使用 .disco 文件(.disco 文件必須能夠讀取 IIS 元數(shù)據(jù)庫才可以提供發(fā)現(xiàn)服務(wù)),則必須為 ASPNET 帳戶授予對該元數(shù)據(jù)庫的讀訪問權(quán)限。

使用 System.Management 和 WMI

Windows Management Instrumentation (WMI) 具有強(qiáng)大的管理功能,您可以用它來管理和監(jiān)視基于 Windows 的計算機(jī)。但是,當(dāng) ASP.NET 應(yīng)用程序以 ASPNET 帳戶運行時,此帳戶只具有與“所有人”相同的默認(rèn)訪問權(quán)限。這些權(quán)限包括為本地計算機(jī)上的提供程序讀取 WMI 數(shù)據(jù)、寫入提供程序數(shù)據(jù)和執(zhí)行方法。有關(guān) WMI 安全機(jī)制的更多信息,請參見 WMI Platform SDK 文檔或 MSDN。

注意:在沒有安裝 Service Pack 3 (SP3) 或更高版本的 Windows 2000 上,或者在沒有安裝 Service Pack 1 (SP1) 或更高版本的 Windows XP 上,在 ASPNET 帳戶下運行的 ASP.NET Web 應(yīng)用程序可能無法運行,并且您可能會收到“Access Denied (0x80041003)”(訪問被拒絕 (0x80041003))錯誤信息。發(fā)生此錯誤的原因是該帳戶不具有足夠的權(quán)限來訪問某些 WMI 命名空間。要解決此問題,請安裝 Windows XP SP1 或更高版本,或者安裝 Windows 2000 SP3 或更高版本。要變通解決此問題,請按照下列步驟操作:
1. 打開“計算機(jī)管理”Microsoft 管理控制臺 (MMC) 管理單元。
2. 展開服務(wù)和應(yīng)用程序,然后選擇 WMI 控制
3. 右鍵單擊 WMI 控制,然后單擊屬性。
4. WMI 控制屬性對話框中,單擊安全選項卡。
5. 展開根目錄,選擇 CIMV2,然后單擊安全。
6. 安全對話框中,單擊高級。
7. 訪問控制設(shè)置對話框中,單擊添加。選擇 localMachineName\ASPNET,然后單擊確定。
8. 權(quán)限項目對話框中,確保應(yīng)用到設(shè)置為這個名稱空間和子名稱空間。
9. 確保選中允許“啟用帳戶”允許“遠(yuǎn)程啟用”復(fù)選框。
10. 單擊每個對話框中的確定直到出現(xiàn) WMI 控制屬性對話框。
11. 為您的應(yīng)用程序?qū)⒃L問的其他 WMI 命名空間重復(fù)步驟 5 到 10。
12. 重新啟動 IIS。為此,請從命令行運行 IISRESET。
默認(rèn)情況下,ASP.NET 為 ASPNET 帳戶生成保密性強(qiáng)的密碼。因此,只要該 ASPNET 帳戶密碼在計算機(jī)之間不是共享的或重置為非默認(rèn)值的其他值,此替代方法就是安全的。

與桌面交互

當(dāng)將 IIS 服務(wù)配置成允許與桌面交互時,ASPNET 帳戶會因為默認(rèn)窗口站和桌面上的“自由選擇的訪問控制列表”(DACL) 而沒有訪問桌面的適當(dāng)權(quán)限。可以讓管理員更改這些 DACL,或者您可以使用有權(quán)訪問這些對象的帳戶運行此進(jìn)程。

刪除 ASP.NET

當(dāng)您刪除 ASP.NET 時,ASPNET 帳戶被禁用并繼續(xù)留在系統(tǒng)上。如果您不打算重新安裝 ASP.NET,則可以刪除 ASPNET 帳戶。

如果在顯式刪除 ASPNET 帳戶之后重新安裝 ASP.NET,就會創(chuàng)建一個具有新的安全標(biāo)識 (SID) 的新 ASPNET 帳戶。因此,任何指向以前 ASPNET 帳戶的 ACL 將都不再適用于這個新的 ASPNET 帳戶。

參考

有關(guān) Windows 2000 中默認(rèn)的訪問控制列表的更多信息,請參見下面的 Microsoft 白皮書:
http://www.microsoft.com/windows2000/docs/SecDefs.doc (http://www.microsoft.com/windows2000/docs/secdefs.doc)
有關(guān)其他信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應(yīng)的文章:
329290 (http://support.microsoft.com/kb/329290/) 如何使用 ASP.NET 工具加密憑據(jù)和會話狀態(tài)連接字符串
315158 (http://support.microsoft.com/kb/315158/) FIX:ASP.NET 在域控制器上使用默認(rèn) ASPNET 帳戶不能正常運行

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多