ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行

转载 2007年10月04日 17:37:00

症状
在域控制器或备份域控制器上安装 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

 

 

ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行!

症状在域控制器或备份域控制器上安装 Microsoft Visual Studio .NET 或 Microsoft .NET Framework 后,如果您尝试运行 ASP.NET 应用程序,则浏览...
  • hesoka
  • hesoka
  • 2004年09月22日 21:43
  • 809

ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行315158

FIX:ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。察看本文应用于的产品functi...
  • myjieli
  • myjieli
  • 2008年09月09日 15:46
  • 108

在域控制器中使用默认ASPNET 帐户时ASP.NET 不能正常运行

在域控制器或备份域控制器上安装Microsoft Visual Studio .NET 或Microsoft .NET 框架后,如果您尝试运行 ASP.NET 应用程序,则浏览器会显示下面的错误信息:...
  • acewang
  • acewang
  • 2004年08月02日 09:56
  • 1537

解决系统中没有ASPNET用户的烦恼!...

今天帮别人装SQL2005,装到最后一步时,跳出个错误对话框,说是找不到系统用户ASPNET的相关 信息,因此安装失败!很是无语呢!... 看了下系统的用户表,果真没有用户ASPNET存在...
  • friendan
  • friendan
  • 2012年02月24日 19:46
  • 11796

sqlserver2005安装程序无法获取aspnet账户的系统账户信息

安装SQL Server2005 问题信息: "SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息" 解决办法: 用aspnet_regiis实用工具卸载和重新安装一下就可...
  • tzqncwu
  • tzqncwu
  • 2011年03月10日 10:52
  • 1790

在IIS5上为{MACHINE}ASPNET,在IIS6上为网络服务

异常详细信息: System.UnauthorizedAccessException: 对路径“E:/sample/Config/Accounts.Config”的访问被拒绝。 ASP.NET 未被授...
  • cnkivm
  • cnkivm
  • 2010年05月20日 11:23
  • 593

SQL Server 2014 建议不要安装在域控上。

SQL Server 2014 建议不要安装在域控上。 当为SharePoint 2016 安装SQL Server 2016 时,如果你安装域控服务器上,会出现如下提示; 这些不影响你的...
  • jason_dct
  • jason_dct
  • 2017年03月14日 09:39
  • 1585

一些ASP.NET不能调试的问题的解决办法

最近看了一些ASP.NET方面的东东~碰到好多问题,如果您也遇到的话,试一试我的方法能不能解决!1、自动附加到计算机“计算机名”上的进程“[四位的一个编号] aspnet_wp.exe”失败。错误代码...
  • deforest
  • deforest
  • 2006年11月15日 09:02
  • 857

使用ASP.NET 状态服务碰到的一些情况

在asp.net中使用ASP.NET 状态服务来保存session,原来是没有问题的,后来换了一台服务器,但是发现应用程序池一回收,session就丢失。 情况是这样的 1、开启asp.net状态...
  • keenx
  • keenx
  • 2012年11月13日 15:27
  • 616

负载均衡服务器session共享的解决方案

在ASP.NET的程序中要使用Session对象时,必须确保页面的@page指令中EnableSessionState属性是True或者Readonly,并且在web.config文件中正确的设置了S...
  • rongaimeng
  • rongaimeng
  • 2013年03月31日 18:21
  • 1271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
举报原因:
原因补充:

(最多只允许输入30个字)