CORRECÇÃO: O ASP.NET não funciona com a conta ASPNET predefinida num controlador de domínio

Traduções de Artigos Traduções de Artigos
Artigo: 315158 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Depois de instalar o Microsoft Visual Studio .NET ou o Microsoft .NET Framework num controlador de domínio ou num controlador de domínio de reserva, se tentar executar uma aplicação ASP.NET, o browser apresenta a seguinte mensagem de erro:
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.
Além disso, o seguinte evento é registado no registo de eventos de aplicações do sistema:
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
Isto aplica-se ao Microsoft IIS (Serviços de informações Internet - Internet Information Services) versão 5.0 ou posterior.

Causa

Por predefinição, o ASP.NET executa o respectivo processo de trabalho (Aspnet_wp.exe) com uma conta fraca (a conta de computador local, com o nome ASPNET) para proporcionar um ambiente mais seguro. Num controlador de domínio ou num controlador de domínio de reserva, todas as contas de utilizador são contas de domínio e não contas de computador local. Consequentemente, o Aspnet_wp.exe não é iniciado porque não consegue localizar uma conta local com o nome "nomecomputadorlocal\ASPNET". Para fornecer uma conta de utilizador válida no controlador de domínio, tem de especificar uma conta explícita na secção <processModel> do ficheiro Machine.config ou utilizar a conta SYSTEM.

Nota: se tentar depurar (clicar no botão Iniciar [Start]) antes de tentar navegar para a página, poderá ter exactamente o mesmo problema.

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Resolução

Para contornar este problema, utilize um dos seguintes métodos:
  • Crie uma conta fraca com as permissões correctas e configure a secção <processModel> do ficheiro Machine.config para utilizar essa conta.
  • Defina o atributo userName como SYSTEM na secção <processModel> do ficheiro Machine.config.
  • Configure a secção <processModel> do ficheiro Machine.config para utilizar uma conta de administrador.
Nota: permitir que as aplicações ASP.NET sejam executadas como SYSTEM ou uma conta de administrador tem sérias implicações de segurança. Se utilizar qualquer destas soluções, o código que é executado no processo Aspnet_wp.exe terá acesso ao controlador de domínio e às definições de domínio. Os ficheiros executáveis iniciados a partir do processo Aspnet_wp.exe são executados no mesmo contexto e também têm acesso ao controlador de domínio.

Consequentemente, a Microsoft recomenda a utilização da primeira solução. Para utilizar a primeira solução, siga estes passos:
  1. Crie uma conta de utilizador com o nome ASPUSER no computador e, em seguida, adicione esta conta ao grupo de utilizadores.

    Nota: também pode utilizar a conta ASPNET criada pelo .NET Framework se alterar a palavra-passe desta conta. Tem de saber a palavra-passe desta conta uma vez que terá de adicionar a palavra-passe à secção <processModel> mais à frente nestes passos.
  2. Conceda à conta ASPUSER ou ASPNET o direito de utilizador Iniciar sessão como uma tarefa batch (Log on as a batch job). Certifique-se de que esta alteração é apresentada nas definições de política de segurança local.

    Nota: para conceder o direito de utilizador Iniciar sessão como uma tarefa batch (Log on as a batch job) a esta conta, poderá ter de conceder este direito de utilizador em cada uma das seguintes políticas de segurança (a partir de Painel de controlo/Ferramentas administrativas [Control Panel/Administrative Tools]):

    • Política de segurança do controlador de domínio (Domain Controller Security Policy)
    • Política de segurança do domínio (Domain Security Policy)
    • Política de segurança local (Local Security Policy)

    Nota: poderá ter de reiniciar o servidor para que estas alterações entrem em vigor.
  3. Certifique-se de que a conta ASPUSER ou ASPNET tem permissão para aceder a todos os directórios e ficheiros necessários para iniciar o processo Aspnet_wp.exe e disponibilizar as páginas ASP.NET. Para obter informações adicionais sobre as permissões que tem de conceder a esta conta, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
    317012 Process and request identity in ASP.NET
  4. Abra o ficheiro Machine.config. O caminho para o ficheiro é: %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
  5. Na secção <processModel> do ficheiro Machine.config, altere os atributos userName e password para o nome e palavra-passe da conta criada no passo 1. Por exemplo:
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Guarde as alterações ao ficheiro Machine.config.

Ponto Da Situação

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a". Este erro foi corrigido no ASP.NET (incluído no .NET Framework) 1.1.

Referências

Para mais informações sobre a segurança do ASP.NET, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
306590 ASP.NET security overview
Para mais informações, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
316989 Error message when you create a trusted data connection from ASP.NET to SQL Server: "Login failed for user: 'AccountName'"
329290 How to use the ASP.NET utility to encrypt credentials and session state connection strings
317012 Process and request identity in ASP.NET

Propriedades

Artigo: 315158 - Última revisão: 1 de fevereiro de 2008 - Revisão: 5.4
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Mobile Internet Toolkit 1.0
Palavras-chave: 
kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com