Troubleshooting: System.UnauthorizedAccessException


Ao criar uma notícia é gerado um .xml no servidor01 e em seguida este XML é copiado imediatamente para o servidor02, ao acontecer este processo ocorre o erro System.UnauthorizedAccessException (ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identify, ASP.NET has impersonate=”true” />, the identify will be the anonymous user (tipically IUSR_MACHINAME) or the authenticated request user;

To grant ASP.NET acces to a file, rigth-click the file in Explorer, choose “Properties” and select the Security Tab. Click “add” to add the apropriate user or group.

 

 

 

Resumindo a mensagem acima, mesmo setando permissão para o usuário que executa o Application Pool e ASP.NET o problema ocorria, resolvi simular o problema novamente porém utilizando o Process Monitor, veja:

 

* Após capturado todos processos que ocorrem durante o problema, filtrei pelo PID do processo W3WP que estava sendo executado o site em questão.

 

Ao começar a analisar notei que o xml era criado ou atualizado, porém na hora da copiar ocorria o “acesso negado”, um pouco mais abaixo na linha que está grifado de azul é o momento que o arquivo é copiado para o servidor02 com passagem de parâmetros de usuário e senha, logo de cara vi que que o usuário que estava sendo passado como credencial para o servidor02 era um usuário local do servidor01, sem duvidas daria acesso negado, pois o usuário local é para ser utilizado no servidor LOCAL e não no remoto.

Próximo passo foi localizar o web.config que estava setado este usuário, apenas um parenteses (Este usuário existia nós 2 servidores, inclusive com a mesma senha), no web.config estava sendo passado o usuário da seguinte forma SERVIDOR01\usuario, o que fiz foi apenas alterar para “usuario”, desta forma não era passado nenhum parametro de servidor l0cal ou remoto, mas sim apenas o usuário.

Até mais,

Tipos de autenticação no FTP


Aplicado em:
Windows Server 2008 R2

Tipos de autenticação no FTP

Autenticação anonima:

Permite que qualquer usuário acesse o FTP fornecendo um usuário e senha, por padrão a autenticação anonima e’ desabilitada.

Autenticação do ASP.NET

Exige um usuário e senha para conectar no FTP, a conta de usuário .NET pode ser de um banco de dados ou compartilhado com o conteúdo WEB.

Autenticação básica

Exige um usuário e senha para conectar no FTP, a conta do usuário pode ser local no servidor de FTP ou pode utilizada uma conta de domínio.

Autenticação do ‘Gestor’ do IIS

É um método de autenticação personalizado que exige uma senha e uma conta do Gestor do IIS validos. Este tipo de autenticação necessita que o serviço ‘IIS Management Service’ esteja instalado e configurado para usar as credenciais do Windows e do Gestor do IIS.

Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/

Conhecendo o Application Pool IIS7/7.5


O que é o Application Pool?

Um Pool de Aplicativos define um grupo de um ou mais processos de trabalho (Worker Process), configurado com definições comuns que atendem uma ou mais aplicações atribuídas a este Pool.
Podemos ver abaixo na figura os componentes de um ‘Application Pool’

Cada Application Pool utiliza 1 ou 2 modos de integração .NET (Modo Integrado e Modo Clássico) para executar aplicações ASP.NET. O modo definido para o Application Pool define como será processado qualquer requisição que chegar a este Pool. Como mostra a figura abaixo.

Modo Integrado: Permite que o IIS processe requisições no Application Pool utilizando o “Integrated Pipeline”, isso permite que os módulos do ASP.NET participem do processamento das requisições.

Modo Clássico: Utiliza o pipeline de processamento do IIS 6, inicialmente as requisições são processadas através dos módulos do IIS7, as requisições do ASP.NET são transportadas para o que chamamos de “ISAPI Filter – aspnet_isapi.dll”, o pipeline de processamento do ASP.NET é separado do pipeline de processamento do IIS7, isto é, o fluxo de processamento é muito mais lento do que o Modo Integrado como mostra a figura abaixo.

Ou seja, o processamento de requisições do tipo ASP.Net serão executadas em outro Pipeline e com isso o tempo de execução será maior.

O módulo nativo ou integrado permite uma execução muito mais rápida e eficaz das requisições Web.

Com isso devemos sempre que possível utilizar o modo integrado do IIS7 para ter mais performance e controle em nosso ambiente Web.

Ate a proxima.

Fabio Oliveira (Dev Support Engineer) – Erick Albuquerque (IISBRASIL)