Você está offline; aguardando reconexão

CORREÇÃO: O ASP.NET não funciona com a conta padrão do ASPNET em um controlador de domínio

Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sintomas
Após instalar o Microsoft Visual Studio .NET ou o Microsoft .NET Framework em um controlador de domínio ou em um controlador de domínio de backup, ao tentar executar um aplicativo ASP.NET, o navegador exibe a seguinte mensagem de erro:
Aplicativo do servidor indisponível

O aplicativo web que você está tentando acessar neste servidor web está indisponível.

Pressione o botão "Atualizar" no seu navegador da web para tentar novamente a sua solicitação.
Além disso, o seguinte evento é registrado no log de eventos do aplicativo do sistema:
O aspnet_wp.exe não pôde ser iniciado porque o nome de usuário e/ou senha fornecidos na seção processModel do arquivo de configuração são inválidos.
O aspnet_wp.exe não pôde ser iniciado.
HRESULT para a falha: 80004005
Isto se aplica aos Serviços de Informações da Internet (IIS) versão 5.0 ou mais recente.
Causa
Por padrão, o ASP.NET executa o seu processo de trabalho (Aspnet_wp.exe) com uma conta fraca (a conta da máquina local, chamada ASPNET) para fornecer um ambiente mais seguro. Em um controlador de domínio ou em um controlador de domínio de backup, todas as contas de usuário são contas de domínio e não contas da máquina local. Portanto, o Aspnet_wp.exe não inicia porque não consegue encontrar uma conta local chamada "nome_da_máquina_local\ASPNET". Para fornecer uma conta de usuário válida no controlador de domínio, é necessário especificar explicitamente uma conta na seção <processModel> do arquivo Machine.config, ou utilizar a conta SYSTEM.

Observação Ao tentar depurar (clicar no botão Iniciar) antes de tentar navegar para a página, o mesmo problema ocorre.
Resolução
Como solução alternativa para esse problema, use um dos seguintes métodos:
  • Crie uma conta fraca com as permissões corretas, e então configure a seção <processModel> do arquivo Machine.config para utilizar essa conta.
  • Defina o atributo userName como SYSTEM na seção <processModel> do arquivo Machine.config.
  • Configure a seção <processModel> do arquivo Machine.config para utilizar uma conta de administrador.
Observação Permitir que os aplicativos ASP.NET sejam executados como SYSTEM ou uma conta de administrador tem sérias implicações de segurança. Ao utilizar uma dessas soluções alternativas, o código sendo executado no processo Aspnet_wp.exe terá acesso ao controlador de domínio e às configurações de domínio. Arquivos executáveis iniciados a partir do processo Aspnet_wp.exe são executados no mesmo contexto e têm acesso ao controlador de domínio.

Portanto, a Microsoft recomenda que você use a primeira solução alternativa. Para usar a primeira solução alternativa, execute as seguintes etapas:
  1. Crie uma conta de usuário no computador chamada ASPUSER, e então adicione esta conta ao grupo Usuários.

    Observação É possível utilizar também a conta ASPNET que o .NET Framework criou se você alterar a senha desta conta. É necessário saber a senha desta conta pois você terá que adicioná-la à seção <processModel> posteriormente nestas etapas.
  2. Conceda à conta ASPUSER ou a conta ASPNET o direito de usuário Fazer logon como um trabalho em lotes. Certifique-se de que esta alteração aparece nas configurações da Diretiva de Segurança Local.

    Observação Para conceder o direito de usuário Fazer logon como um trabalho em lotes a esta conta, poderá ser necessário conceder este direito de usuário em cada uma das seguintes diretivas de segurança (a partir de Painel de Controle/Ferramentas Administrativas):

    • Diretiva de Segurança do Controlador de Domínio
    • Diretiva de Segurança de Domínio
    • Diretiva de Segurança Local

    Observação Às vezes, pode ser necessário reiniciar o servidor para que essas configurações tenham efeito.
  3. Certifique-se de que a conta ASPUSER ou a conta ASPNET tenha permissão para acessar todos os diretórios e arquivos necessários para iniciar o processo Aspnet_wp.exe e servir as páginas ASP.NET.Para obter informações adicionais sobre quais permissões devem ser concedidas a esta conta, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
    317012 Processo e identidade de solicitação no ASP.NET
  4. Abra o arquivo Machine.config. O caminho para o arquivo é: %Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG.
  5. Na seção <processModel> do arquivo Machine.config, altere os atributos userName e password para o nome e a senha da conta criada na etapa 1. Por exemplo:
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. Salve as alterações no arquivo Machine.config.
Situação
A Microsoft confirmou que este é um bug nos produtos Microsoft que estão listados na seção "Aplica-se a".Este bug foi corrigido no ASP.NET (incluído no .NET Framework) 1.1.
Referências
Para obter informações adicionais sobre a segurança do ASP.NET, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
306590 Visão geral da segurança do ASP.NET
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
316989 Mensagem de erro ao criar uma conexão de dados confiável do ASP.NET para o SQL Server: "Falha de logon do usuário: 'Nome_da_conta'"
329290 Como usar o utilitário ASP.NET para criptografar credenciais e as seqüências de conexão do estado da sessão
317012 Processo e identidade de solicitação no ASP.NET
kbreadme
Propriedades

ID do Artigo: 315158 - Última Revisão: 01/30/2008 19:28:06 - Revisão: 5.4

Microsoft ASP.NET 1.0, Microsoft Internet Information Services 5.0, Microsoft Mobile Internet Toolkit 1.0

  • kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
Comentários