ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
2009-05-14 12:55
399 查看
在域控制器或备份域控制器上安装 Microsoft Visual Studio .NET 或 Microsoft .NET Framework 后,如果您尝试运行 ASP.NET 应用程序,则浏览器会显示下面的错误消息:
服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。
请点击 Web 浏览器中的“刷新”按钮重试您的请求。
此外,系统应用程序事件日志中会记录以下事件:
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 Information Services (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 应用程序作为 SYSTEM 或管理员帐户运行,将带来严重的安全问题。如果使用其中的任一种替代方法,在 Aspnet_wp.exe 进程中运行的代码都将有权访问域控制器和域设置。从 Aspnet_wp.exe 进程启动的可执行文件在相同的上下文中运行,它们也有权访问域控制器。
因此,Microsoft 建议使用第一种替代方法。若要使用第一种替代方法,请按照下列步骤操作:
在计算机上创建名为 ASPUSER 的用户帐户,然后将此帐户添加到用户组中。
注意:如果更改了 .NET Framework 创建的 ASPNET 帐户的密码,也可以使用该帐户。您必须知道此帐户的密码,因为需要在后面的步骤中将该密码添加到 <processModel> 部分。
授予 ASPUSER 或 ASPNET 帐户“作为批处理作业登录”用户权限。确保此更改出现在“本地安全策略”设置中。
注意:若要向此帐户授予“作为批处理作业登录”用户权限,可能必须在以下每一个安全策略中都授予此用户权限(从控制面板/管理工具开始操作):
域控制器安全策略
域安全策略
本地安全策略
注意:您可能必须重新启动服务器以使这些更改生效。
确保 ASPUSER 或 ASPNET 帐户有权访问启动 Aspnet_wp.exe 进程和为 ASP.NET 页提供服务所必需的全部目录和文件。 有关必须授予此帐户何种权限的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
317012 (http://support.microsoft.com/kb/317012/ ) ASP.NET 中的进程和请求标识
打开 Machine.config 文件。该文件的路径是:%Systemroot%/Microsoft.NET/Framework/v1.0.3705/CONFIG。
在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性更改为您在步骤 1 中创建的帐户的名称和密码。例如:
[/code]
保存对 Machine.config 文件所做的更改。
回到顶端
状态
Microsoft 已经确认这是在“这篇文章中的信息适用于:”部分中列出的 Microsoft 产品中存在的错误。此错误在 ASP.NET(包括在 .NET Framework 中)1.1 版中得到了纠正。
服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。
请点击 Web 浏览器中的“刷新”按钮重试您的请求。
此外,系统应用程序事件日志中会记录以下事件:
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 Information Services (IIS) 5.0 版或更高版本。
回到顶端
原因
默认情况下,为了提供更安全的环境,ASP.NET 用权限较弱的帐户(名为 ASPNET 的本地计算机帐户)运行其辅助进程 (Aspnet_wp.exe)。在域控...
默认情况下,为了提供更安全的环境,ASP.NET 用权限较弱的帐户(名为 ASPNET 的本地计算机帐户)运行其辅助进程 (Aspnet_wp.exe)。在域控制器或备份域控制器上,所有的用户帐户都是域帐户,而不是本地计算机帐户。因此,Aspnet_wp.exe 会由于找不到名为“localmachinename/ASPNET”的本地帐户而无法启动。若要在域控制器上提供有效的用户帐户,必须在 Machine.config 文件的 <processModel> 部分指定显式帐户,或者必须使用 SYSTEM 帐户。注意:如果在尝试浏览页面之前尝试进行调试(单击“启动”按钮),也会遇到这一问题。
回到顶端
解决方案
要解决此问题,请使用下列方法之一: 创建具有正确权限的弱帐户,然后配置 Machine.config 文件的 <processModel> 部分以使用该帐户。...
要解决此问题,请使用下列方法之一:创建具有正确权限的弱帐户,然后配置 Machine.config 文件的 <processModel> 部分以使用该帐户。
在 Machine.config 文件的 <processModel> 部分,将 userName 属性设置为 SYSTEM。
配置 Machine.config 文件的 <processModel> 部分以使用管理员帐户。
注意:如果允许 ASP.NET 应用程序作为 SYSTEM 或管理员帐户运行,将带来严重的安全问题。如果使用其中的任一种替代方法,在 Aspnet_wp.exe 进程中运行的代码都将有权访问域控制器和域设置。从 Aspnet_wp.exe 进程启动的可执行文件在相同的上下文中运行,它们也有权访问域控制器。
因此,Microsoft 建议使用第一种替代方法。若要使用第一种替代方法,请按照下列步骤操作:
在计算机上创建名为 ASPUSER 的用户帐户,然后将此帐户添加到用户组中。
注意:如果更改了 .NET Framework 创建的 ASPNET 帐户的密码,也可以使用该帐户。您必须知道此帐户的密码,因为需要在后面的步骤中将该密码添加到 <processModel> 部分。
授予 ASPUSER 或 ASPNET 帐户“作为批处理作业登录”用户权限。确保此更改出现在“本地安全策略”设置中。
注意:若要向此帐户授予“作为批处理作业登录”用户权限,可能必须在以下每一个安全策略中都授予此用户权限(从控制面板/管理工具开始操作):
域控制器安全策略
域安全策略
本地安全策略
注意:您可能必须重新启动服务器以使这些更改生效。
确保 ASPUSER 或 ASPNET 帐户有权访问启动 Aspnet_wp.exe 进程和为 ASP.NET 页提供服务所必需的全部目录和文件。 有关必须授予此帐户何种权限的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
317012 (http://support.microsoft.com/kb/317012/ ) ASP.NET 中的进程和请求标识
打开 Machine.config 文件。该文件的路径是:%Systemroot%/Microsoft.NET/Framework/v1.0.3705/CONFIG。
在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性更改为您在步骤 1 中创建的帐户的名称和密码。例如:
[code]userName="DomainName/ASPUSER" password="ASPUSERpassword"
[/code]
保存对 Machine.config 文件所做的更改。
回到顶端
状态
Microsoft 已经确认这是在“这篇文章中的信息适用于:”部分中列出的 Microsoft 产品中存在的错误。此错误在 ASP.NET(包括在 .NET F...
Microsoft 已经确认这是在“这篇文章中的信息适用于:”部分中列出的 Microsoft 产品中存在的错误。此错误在 ASP.NET(包括在 .NET Framework 中)1.1 版中得到了纠正。
相关文章推荐
- 在域控制器中使用默认ASPNET 帐户时ASP.NET 不能正常运行
- ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行!
- ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
- ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行315158
- ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行315158
- ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
- 在 Windows Server 2003 上的 IIS 6.0 中使用 IIS 5 隔离模式时,如何为 ASP.NET 1.1 的 ASPNET 帐户配置进程标识
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 将 ASP.NET 配置为使用新帐户运行
- 使用jQuery.Ajax向ASP.NET MVC控制器Post数据
- 先安装.Framework然后再安装IIS,ASP.NET程序不能运行
- 运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权
- asp.net使用ckeditor_3.6.2+ckfinderckfinder_aspnet_2.1.1设置上传图片功能
- SQL Server 2005 安装程序无法获取 ASP.NET 帐户的系统帐户信息.若要继续,请重新安装 .NET Framework,然后再次运行 SQL Server 安装程序。
- VS运行程序正常,发布后查询中文不能正常使用
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
- C# ASP.NET 优化程序性能、降低内存使用、提高程序运行速度
- [新手上路]正常运行ASP.NET操作系统需安装的组件及软件
- 先安装.Framework然后再安装IIS,ASP.NET程序不能运行
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器