在域控制器中使用默認ASPNET 帳戶時ASP.NET 不能正常運行

在域控制器或備份域控制器上安裝Microsoft Visual Studio .NET Microsoft .NET 框架後,如果您嘗試運行

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

由於找不到名爲"localmachinename/ASPNET"的本地帳戶而未能啓動。要在域控制器上提供有效的用戶帳

戶,必須在Machine.config 文件的部分指定顯式帳戶,或者必須使用SYSTEM 帳戶。

備註:如果在嘗試瀏覽頁面之前嘗試進行調試(單擊啓動按鈕),則會出現完全相同的問題。

解決方案

若要解決此問題,請使用下列方法之一:

  創建具有正確權限的弱帳戶,然後配置Machine.config 文件的部分使用該帳戶。

  Machine.config 文件的部分,將userName 屬性設爲SYSTEM

  配置Machine.config 文件的部分使用管理員帳戶。

備註:如果允許ASP.NET 應用程序作爲SYSTEM 或管理員帳戶運行,將帶來嚴重的安全問題。如果使用其中的任一種變通解決辦法,在Aspnet_wp.exe 進程中運行的代碼將能夠訪問域控制器和域設置。從Aspnet_wp.exe 進程啓動的可執行文件在相同的上下文中運行,它們也能夠訪問域控制器。因此,Microsoft 建議使用第一種變通解決辦法。要使用第一種變通解決辦法,請執行以下步驟:

1. 在計算機上創建名爲ASPUSER 的用戶帳戶,然後將此帳戶添加到"用戶組"中。

備註:如果更改了.NET 框架創建的ASPNET 帳戶的密碼,也可以使用該帳戶。您必須知道此帳戶的密碼,因爲需要在後面的步驟中將該密碼添加到部分。

2. ASPUSER ASPNET 帳戶授予"作爲批處理作業登錄"的用戶權限。確保此更改在"本地安全策略"設置中顯示。

備註:要向此帳戶授予"作爲批處理作業登錄"的用戶權限,必須在以下每一個安全策略中授權此用戶權限(從"控制面板"/"管理工具"開始操作):

  域控制器安全策略

  域安全策略

  本地安全策略

備註:您必須重新啓動服務器,以使這些更改生效。

3. 確保ASPUSER ASPNET 帳戶具有的權限能夠訪問啓動Aspnet_wp.exe 進程和爲ASP.NET 頁提供服務所必需的全部目錄和文件。

4. 打開Machine.config 文件。該文件的路徑是:%Systemroot%/Microsoft.NET/Framework/v1.0.3705/CONFIG.

5. Machine.config 文件的部分,將userName password 屬性更改爲第1 步創建的帳戶的名稱和密碼。例如:

userName="DomainName/ASPUSER" password="ASPUSERpassword"

6. 保存對Machine.config 文件所做的更改。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章