FIX:ASP.NET 在網域控制站上使用預設 ASPNET 帳戶不能正常運行

來源:互聯網
上載者:User
asp.net|控制

本文的發布號曾為 CHS315158
癥狀
在網域控制站或備份網域控制站上安裝 Microsoft Visual Studio .NET 或 Microsoft .NET Framework 後,如果您嘗試運行 ASP.NET 應用程式,則瀏覽器會顯示下面的錯誤資訊:

Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable.

Please hit the "Refresh" button in your web browser to retry your request.
此外,系統應用程式事件記錄檔中會記錄以下事件:

aspnet_wp.exe could not be launched because the username and/or password supplied in the processModel section of the config file are invalid.
aspnet_wp.exe could not be started.
HRESULT for the failure: 80004005
此問題涉及 Internet 資訊服務 (IIS) 5.0 版或更高版本。
原因
預設情況下,為了提供更安全的環境,ASP.NET 用許可權較弱的帳戶(名為 ASPNET 的本機電腦帳戶)運行其輔助進程 (Aspnet_wp.exe)。在網域控制站或備份網域控制站上,所有的使用者帳戶都是域帳戶,而不是本機電腦帳戶。因此,Aspnet_wp.exe 會由於找不到名為“localmachinename\ASPNET”的本地帳戶而無法啟動。若要在網域控制站上提供有效使用者帳戶,必須在 Machine.config 檔案的 <processModel> 部分指定顯式帳戶,或者必須使用 SYSTEM 帳戶。

注意:如果在嘗試瀏覽頁面之前嘗試進行調試(單擊啟動按鈕),也會遇到這一問題。
解決方案
要解決此問題,請使用下列方法之一: • 建立具有正確許可權的弱帳戶,然後配置 Machine.config 檔案的 <processModel> 部分以使用該帳戶。
• 在 Machine.config 檔案的 <processModel> 部分,將 userName 屬性設定為 SYSTEM。
• 配置 Machine.config 檔案的 <processModel> 部分以使用系統管理員帳戶。
注意:在 ASP.NET 1.1 中,ASPNET 的進程標識為 IWAM_MachineName,所以不存在此問題。

注意:如果允許 ASP.NET 應用程式作為 SYSTEM 或系統管理員帳戶運行,將帶來嚴重的安全問題。如果使用其中的任一種替代方法,在 Aspnet_wp.exe 進程中啟動並執行代碼都將有權訪問網域控制站和網域設定。從 Aspnet_wp.exe 進程啟動的可執行檔在相同的上下文中運行,它們也有權訪問網域控制站。

因此,Microsoft 建議使用第一種替代方法。若要使用第一種替代方法,請按照下列步驟操作: 1. 在電腦上建立名為 ASPUSER 的使用者帳戶,然後將此帳戶添加到使用者組中。

注意:如果更改了 .NET Framework 建立的 ASPNET 帳戶的密碼,也可以使用該帳戶。您必須知道此帳戶的密碼,因為需要在後面的步驟中將該密碼添加到 <processModel> 部分。
2. 授予 ASPUSER 或 ASPNET 帳戶“作為批次工作登入”使用者權限。確保此更改出現在“本地安全性原則”設定中。

注意:若要向此帳戶授予“作為批次工作登入”使用者權限,可能必須在以下每一個安全性原則中都授予此使用者權限(從控制台/管理工具開始操作):

• 網域控制站安全性原則
• 域安全性原則
• 本地安全性原則

注意:您可能必須重新啟動伺服器以使這些更改生效。
3. 確保 ASPUSER 或 ASPNET 帳戶有權訪問啟動 Aspnet_wp.exe 進程和為 ASP.NET 頁提供服務所必需的全部目錄和檔案。 有關必須授予此帳戶何種許可權的其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
317012 (http://support.microsoft.com/kb/317012/) ASP.NET 中的進程和請求標識 
4. 開啟 Machine.config 檔案。該檔案的路徑是:%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG。
5. 在 Machine.config 檔案的 <processModel> 部分,將 userName 和 password 屬性更改為您在第一步中建立的帳戶的名稱和密碼。例如:
userName="DomainName\ASPUSER" password="ASPUSERpassword"
6. 儲存對 Machine.config 檔案所做的更改。

狀態
Microsoft 已經確認這是本文開頭列出的 Microsoft 產品中存在的錯誤。 此錯誤在 ASP.NET(包括在 .NET Framework 中)1.1 版中得到了糾正。
參考
有關 ASP.NET 安全性的其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
306590 (http://support.microsoft.com/kb/306590/) INFO:ASP.NET 安全性概述
有關其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
316989 (http://support.microsoft.com/kb/316989/) PRB:在建立從 ASP.NET 到 SQL Server 的受信任資料連線時出現“Login Failed”(登入失敗)錯誤資訊
329290 (http://support.microsoft.com/kb/329290/) 如何使用 ASP.NET 工具加密憑據和工作階段狀態連接字串
317012 (http://support.microsoft.com/kb/317012/) ASP.NET 中的進程和請求標識

--------------------------------------------------------------------------------

這篇文章中的資訊適用於:
• Microsoft ASP.NET 1.0
• Microsoft Internet Information Services 5.0
• Microsoft Mobile Internet Toolkit 1.0


 



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。