IIS 7.5 (Windows 7) - Erro HTTP 401.3 - Não autorizado

81

Estou tentando testar meu site ASP.Net no host local e estou recebendo este erro:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

Eu tenho os seguintes usuários na pasta do aplicativo do site, com permissões completas de leitura / gravação:

  • SERVIÇO DE REDE
  • IIS_IUSRS
  • SISTEMA
  • Administradores
  • Nathan (eu)

O que posso tentar corrigir isso?

Nathan Ridley
fonte
Estou acompanhando esse problema há algumas horas. Eu já tenho IUSR e Server \ IUSR terá a permissão de leitura. Meu problema acabou sendo pastas criptografadas que foram extraídas de um arquivo Zip. Se o nome da pasta estiver verde, tente remover a caixa de seleção da caixa Configurações avançadas da propriedade. Isso corrigiu meu problema.
Lionel Morrison

Respostas:

123

O IIS 7 também cria "IUSR" como usuário padrão para acessar arquivos via IIS. Portanto, faça com que o usuário IUSR tenha acesso de leitura a arquivos / pastas.

Como verificar se o IUSR leu o Access? Clique com o botão direito -> Pasta -> Propriedades -> guia Segurança Veja se o IUSR está na lista de nomes de grupo ou usuário, se não.

Clique em Editar -> Adicionar -> Avançado -> Localizar agora -> Selecione IUSR e clique em OK quatro vezes


fonte
5
Verifique se você está pesquisando no local certo. Eu estava procurando por IUSR no meu domínio de trabalho e não encontrei nada. Depois mudei o local para o nome da minha máquina.
9788 Mike Blandford
8
Nota: Requeria o IUSR e o IIS_IUSRS para ter acesso à minha máquina. Tentei remover o IIS_IUSRS depois de adicionar o IUSR, pensando que o IUSR era tudo o que eu precisava, mas ele resmungou.
Kdewg 12/04
1
Surpreendeu-me que apenas adicionar IIS_IUSRsnão fosse suficiente; Eu também tive que adicionar IUSR. Vale lembrar: o)
Owen Blacker 17/03
Certamente o usuário IUSR já é um membro do IIS_IUSRS por padrão? Meu servidor parece não mencionar IUSR nas permissões padrão definidas para wwwroot.
11774 NickG
33

Encontrei isso em outro fórum, então eu não posso receber crédito, mas eu fiz e funcionou para mim:

"Tente alterar a configuração de autenticação anônima no IIS7:

Clique em Autenticação e clique em editar depois de escolher Autenticação Anônima. Na janela de abertura, selecione Identidade do Pool de Aplicativos e clique em OK. "


fonte
5
Foi isso que fez por mim.
Chris Marisic 29/09/10
Estou usando a representação e este foi o problema. Não sei por que, mas funcionou!
Jarrod
Isso me impediu de arrancar todo o meu cabelo hoje. Obrigado.
pauska
No IIS 8.5, parece que o padrão para um novo aplicativo não é usar a identidade do pool de aplicativos, mas apenas o IUSR. Parece um pouco para mim!
Hospedeiro
Acho que faz sentido querer identidades separadas para "usuário executando o pool de aplicativos" e "usuário representado pelo pool de aplicativos após a autenticação 'anônima'" - mas apenas em retrospectiva e depois de encontrar esta resposta!
shambulator
20

Eu tive o mesmo problema no IIS 7.5 no Windows Server 2008. Para mim, as seguintes etapas trabalharam para corrigir o problema:

  • Abra o Gerenciador do IIS
  • Clique no site que você deseja editar
  • Clique duas vezes em Autenticação
  • Clique em Autenticação Anônima e clique em Editar ... em Ações
  • Altere para usar as credenciais de identidade do pool de aplicativos em vez do usuário específico (o meu era IUSR)

Depois de fazer essa alteração, meus erros do 401.3 desapareceram.

Marca
fonte
10

Você está usando um mecanismo de login ou apenas autenticação anônima?

Se for anônimo, entre no gerenciador do IIS, no ícone Autenticação, escolha o nome de autenticação anônima e clique no botão Editar em Ações. Verifique qual usuário está especificado lá e verifique se ele possui permissões para os arquivos / pastas do site.

Se você tiver alguma forma de sistema de logon, verifique se o (s) usuário (s) que você está acessando possui permissões para os arquivos do site e se o ID do pool de aplicativos em que você está executando tem pelo menos acesso de leitura para os arquivos.

MattB
fonte
3

Por padrão, com o IIS 7.5, cada pool de aplicativos é executado sob sua própria "identidade virtual". A identidade do pool de aplicativos são as credenciais usadas para acessar o sistema de arquivos.

Não tenho certeza da mecânica disso, mas a Microsoft fez isso para aumentar a segurança da instalação padrão e aliviar a necessidade de criar contas de serviço em determinados cenários de instalação. Independentemente disso, o resultado é que você terá que identificar essa conta de "identidade virtual" e conceder acesso a seu diretório ou alterar a conta de serviço do pool de aplicativos.

As identidades virtuais do pool de aplicativos são nomeadas "IIS AppPool \", portanto, se você estiver usando o DefaultAppPool, sua identidade seria "IIS AppPool \ DefaultAppPool".

Consulte este artigo para obter detalhes mais completos.

ntcolonel
fonte
3

Oi para mim no trabalho do IIS 8: 1) Vá para o diretório virtual do IIS - 2) autenticação - 3) autenticação anônima - 4) defina a identidade do pool de aplicativos.

Alex
fonte
Tanto a resposta IUSR e esta resposta são necessários para uma solução completa em todos os casos eu correr em
Brian Knoblauch
2

Como nenhuma das respostas acima me ajudou, pensei em compartilhar como resolvi esse problema ao encontrá-lo na minha máquina local executando win7 e IIS7.

  • Vá para IIS7 -> Pools de Aplicativos

    Encontre o pool de aplicativos do seu site (no meu caso, DefaultAppPool), clique com o botão direito do mouse e escolha Opções Avançadas.

    Encontre o capítulo Modelo de processo e altere o campo Identidade para um usuário que você sabe com certeza que tem acesso aos arquivos na pasta do seu site (no meu caso, o administrador local)

Daniel Hedenström
fonte
2

Resposta para incluir informações dos comentários na resposta aceita.

No IIS 7.5 no Windows Server 2008r2, o grupo IIS_IUSRS já está incluído, mas o grupo IUSR separado ainda deve ser adicionado às permissões para permitir o acesso / download de arquivos.

Para obter mais informações sobre as diferenças nas contas, consulte Noções básicas sobre contas de usuário e grupo internas no IIS.

Chris Pickering
fonte
1

Tente isso ... Vá para Gerenciamento do computador (clique com o botão direito do mouse no meu computador e selecione Gerenciar) -> Usuários e grupos locais -> Usuários -> selecione IUSR_MACHINENAME -> clique com o botão direito do mouse em Propriedades -> Verifique se é membro do IIS_WPG e usuários e não Convidados.


Estou trabalhando com o Server 2008 R2 e a conta do IUser não está disponível na lista.

Matt
fonte
1

Tente instalar o lado do cliente do IIS usando aspnet_regiis -ce, em seguida, redefina o IIS.

titilola
fonte
1

Para usuários onde isso não é suficiente:

Eu consegui trabalhar com isso:

  • Abra a visualização de recursos do seu site.
  • Vá para mapeamentos de manipulador.
  • Encontre o caminho para .cshtml
  • Clique com o botão direito e clique em Editar permissões de recursos
  • Selecione Executar
  • Clique em OK.

Agora tente atualizar seu site.

nixkuroi
fonte